#include<cstdio>
using namespace std;
const int maxn = 100;
bool isprime[2001] ;
int prime[maxn]; //此处也可以用vector
int sieve(int n){
int p=0;
for(int i=0;i<=n;++i){
isprime[i]=true;
}
isprime[0]=isprime[1]=false;
for(int j=2;j<=n;++j){
if(isprime[j]){
prime[p++]=j;
for(int k=j+j;k<=n;k+=j){
isprime[k]=false;
}
}
}
return p;
}
int main(){
int size=sieve(2000);
for(int i=0;i<size;++i){
printf("%d\n",prime[i]);
}
return 0;
}
埃拉托斯特尼筛法
最新推荐文章于 2023-12-07 23:47:24 发布