NYOJ 187 快速查找素数 (打表)
地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=187
思路:一般的方法会超时,打表。。。算法分析:打素数表;
1 #include<stdio.h> 2 int a[2000001]; 3 int main() 4 { 5 int i,j,n; 6 for(i=2;i<=2000000;i++) 7 { 8 if(!a[i]) //未被标记 9 for(j=i+i;j<=2000000;j+=i) //素数的倍数不是素数 10 a[j]=1; //标记 11 } 12 while(scanf("%d",&n),n) 13 { 14 printf("2"); 15 for(i=3;i<=n;i++) 16 if(!a[i]) 17 printf(" %d",i); 18 printf("\n"); 19 } 20 return 0; 21 } 22