Thuật toán sàng nguyên tố Eratosthenes
#include<bits/stdc++.h>
using namespace std;
int main() {
int N = 1000;
bool check[N + 1];
// Khởi tạo tất cả các số [2...N] đều là số nguyên tố
for (int i = 2; i <= N; i++) {
check[i] = true;
}
// Thuật toán sàng nguyên tố
// Nếu một số là số nguyên tố, thì tất cả các bội của nó không phải số nguyên tố
for (int i = 2; i <= N; i++) {
if (check[i] == true) {
for (int j = 2 * i; j <= N; j += i) {
check[j] = false;
}
}
}
// In ra các số là số nguyên tố
for (int i = 2; i <= N; i++) {
if (check[i] == true) {
cout << i << " ";
}
}
}

Đăng nhận xét