5 10 11 0
2 3 5 2 3 5 7 2 3 5 7 11
1 /*快速查找素数*/ 2 #include<stdio.h> 3 #include<math.h> 4 int a[2000001]; 5 int main() 6 { 7 int i,j,n; 8 for(i=2;i<=2000000;i++)/*筛选法求素数*/ 9 { 10 if(a[i]==0) 11 for(j=i+i;j<=2000000;j+=i)//素数的倍数不是素数 12 a[j]=1;//标记 13 } 14 while(scanf("%d",&n)&&n!=0) 15 { 16 printf("2"); 17 for(i=3;i<=n;i++) 18 if(a[i]==0) 19 printf(" %d",i); 20 printf("\n"); 21 } 22 return 0; 23 }
原文:http://www.cnblogs.com/xiaoyunoo/p/3513638.html