筛选法求素数经常是求解其他问题的前提
代码:
#include <bits/stdc++.h>
using namespace std;
const int N = 100001;
int prime[N]{0};
int main()
{
for(int i=2;i!=N;++i) prime[i] = 1;
// 这里的1000可能不是很准确,取N是绝对正确,但是效率较低
// 但是结果是一样的.
for(int i=2;i<1000;++i) {
for(int j=i+1;j<N;++j) {
if(j%i==0) {
if(prime[j]==1) prime[j] = 0;
}
}
}
for(int i=2;i<N;++i) {
if(prime[i]==1) cout << i << ends;
}
return 0;
}