线性筛素数(欧拉筛)

 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 }
View Code

 

posted @ 2019-10-12 14:59  月亮茶  阅读(127)  评论(0编辑  收藏  举报