欧拉筛
代码
void eulerSieve(int n){
memset(isprime,false,sizeof(isprime));
isprime[1]==true;
isprime[0]=true;
for(int i=2;i<n;i++){
if(isprime[i]==false){
prime[dd++]=i;
}
for(int j=0;j<dd;j++){
if(prime[j]*i<=n){
isprime[prime[j]*i]=true;
if(i%prime[j]==0){
break;
}
}
else{
break;
}
}
}
}
线性筛,复杂度为O(n)。与埃氏筛相比效率更高。