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: