1 const int MAXN=3000001; 2 int prime[MAXN];//保存素数 3 bool vis[MAXN];//初始化 4 void Prime(int n) 5 { 6 int cnt=0; 7 memset(vis,0,sizeof(vis)); 8 for(int i=2;i<n;i++) 9 { 10 if(!vis[i]) 11 prime[cnt++]=i; 12 for(int j=0;j<cnt&&i*prime[j]<n;j++) 13 { 14 vis[i*prime[j]]=1; 15 if(i%prime[j]==0)//关键 16 break; 17 } 18 } 19 return cnt;//返回小于n的素数的个数 20 }