欧拉筛模板

 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 }
View Code
原文地址:https://www.cnblogs.com/myx12345/p/5521273.html