Bài toán: Cho số nguyên dương n (n <=107). Liệt kê các số nguyên tố nhỏ hơn hoặc bằng n (mỗi số cách nhau một dấu cách).
Với bài toán này, ta sử dụng một hàm xác định kiểm tra 1 số có phải là số nguyên tố hay không. Tiếp đó, duyệt lần lượt các số từ 1 đến n để liệt kê ra các số nguyên tố.
Code tham khảo:
#include <iostream> #include <cmath> using namespace std; int nguyenTo(int n) { if (n < 2) return 0; for (int i = 2; i <= sqrt(n); i++) { if (n % i == 0) return 0; } return 1; } int main() { freopen("NGUYENTO.INP","r",stdin); freopen("NGUYENTO.OUT","w",stdout); int n; cin >> n; for (int i = 1; i <= n; i++) { if(nguyenTo(i) == 1) { cout << i << " "; } } return 0; }
Tham khảo bài toán: kiểm tra một số nguyên n có phải là số nguyên tố hay không?
#include <iostream> #include <cmath> using namespace std; int nguyenTo(int n) { if (n < 2) return 0; for (int i = 2; i <= sqrt(n); i++) { if (n % i == 0) return 0; } return 1; } int main() { freopen("NGUYENTO.INP","r",stdin); freopen("NGUYENTO.OUT","w",stdout); int n; cin >> n; if (nguyenTo(n)) cout << 1; else cout << -1; return 0; }