筛选法求质数(acm)
程序员文章站
2024-03-14 20:50:29
...
#include <stdio.h>
bool a[2000005];
int main(){
int n;
for(int i=2;i<=2000005;i++){
a[i]=1;
}
for(int i=2;i<=2000000;i++){
if(a[i]){
for(int j=i+i;j<=2000005;j+=i){
a[j]=0;
}
}
}
while(~scanf("%d",&n)){
if(n==0) break;
for(int i=2;i<=n;i++){
if(a[i]==1){
printf("%d ",i);
}
}
}
return 0;
}
上一篇: 统计0到n之间1的个数