1 int pri[10000009]; 2 bool v[10000009]; //v[i]=1表示他不是素数 3 void shai() 4 { 5 v[0]=v[1]=1; 6 for(int i=2;i<=n;i++) 7 { 8 if(!v[i]) pri[++l]=i; 9 for(int j=1;j<=l && i*pri[j]<=n;j++) 10 { 11 v[i*pri[j]]=1; 12 if(i%pri[j]==0) break; 13 } 14 } 15 }