这道题真的是太调皮了
第一遍T了
同样的代码提交了第二遍,就A了
很简单,不多说了
本来想 滚动数组和二分查找优化一下,后来 A了就算了
#include <stdio.h>
#define N 2000005
int a[N];
void isprime(){
a[0]=1;
a[1]=1;
for(int i=2;i<=1500;i++){
if(!a[i]){
for(int j=i+i;j<N;j+=i){
a[j]=1;
}
}
}
}
int main(){
isprime();
int n;
while(scanf("%d",&n)!=EOF){
if(n==0)
break;
for(int i=2;i<=n;i++){
if(a[i]==0){
printf("%d ",i);
}
}
putchar('\n');
}
}