/*埃式筛算法*/
const int maxn=1e6+7;//总的范围规定在这里
bool isprime[maxn]; //判定是不是素数,true是素数,false不是素数
void sieve()
{
for(int i=0;i<=maxn;i++) isprime[i]=true; //初始化,一开始都是素数(true) ,0和1不是素数(false)
isprime[0]=isprime[1]=false;
for(int i=2;i<=maxn;i++) //从2开始往后筛
{
if(isprime[i])
{
for(int j=2*i;j<=maxn;j+=i) //很重要,注意细节
{
isprime[j]=false;
}
}
}
}



京公网安备 11010502036488号