Bài viết được đăng tại nguyenlediep.com - không copy dưới mọi hình thức.
NLD Code - Viết chương trình in ra các số nguyên tố từ 1 đến n với n là số nguyên được nhập từ bàn phím trong C. Số nguyên tố là số chỉ có 2 ước số là 1 và chính nó và số đó phải lớn hơn 1.
Viết chương trình in ra các số nguyên tố từ 1 đến n với n là số nguyên được nhập từ bàn phím trong C. Số nguyên tố là số chỉ có 2 ước số là 1 và chính nó và số đó phải lớn hơn 1.
Câu hỏi
- Viết chương trình in ra các số nguyên tố từ 1 đến n với n là số nguyên được nhập từ bàn phím trong C.
Gợi ý
- Chúng ta sử dụng vòng lặp for và lệnh if else để giải quyết bài toán trên.
Tiến hành code
Chèn các thư viện vào file hiện hành
#include<stdio.h> #include<conio.h>
Khai báo biến kiểu dữ liệu int
int n, s = 0, i, j, dem;
In ra thông báo nhận giá trị x nhập vào
printf(" - Nhap n = ");
Nhận giá trị n người dùng nhập vào
scanf("%d",&n);
Chạy vòng lặp for từ 2 đến n vì 1 không phải là số nguyên tố
for(i = 2; i <= n; i++){
}
Gán biến dem bằng 0; mục đích để đếm ước số của i
dem = 0;
Sử dụng vòng lặp for để tìm các ước số từ 2 đến 1/2 của i
for(j = 2;j <= i/2; j++){
}
Sử dụng lệnh if để lấy số dư của i chia j. Nếu số dư bằng 0 thì biến dem sẽ cộng thêm 1
if(i % j == 0){
dem++;
}
Sử dụng lệnh if để in ra các số nguyên tố nếu biến dem bằng 0
if(dem == 0){
printf(" => %5d",i);
}
Code hoàn chỉnh
// http://nguyenlediep.com
#include<stdio.h>
#include<conio.h>
main(){
printf("\n");
int n, s = 0, i, j, dem;
printf(" - Nhap n = ");
scanf("%d",&n);
printf(" => Cac so nguyen to tu 1 den n la:");
for(i = 2; i <= n; i++){
dem = 0;
for(j = 2;j <= i/2; j++){
if(i % j == 0){
dem++;
}
}
if(dem == 0){
printf("%5d",i);
}
}
printf("\n >>>>> nldc.vn <<<<<\n");
}
Kết quả
- Lưu C code thành file .cpp, nhấn F9 để biên dịch chương trình sau đó nhấn F10 ta được:

