素数筛
1.暴力枚举。时间复杂度O(nsqrt(n))
2.埃氏筛。时间复杂度O(nlog(logn))
3.欧拉筛。时间复杂度O(n)
// 欧拉筛
int isnp[N];
int prime[N];//素数表
int c=0;//素数个数
void init(){
isnp[0] = isnp[1] = 1;
int i,j;
for(i=2;i<N;i++){
if(!isnp[i]) prime[c++]=i;
for(j=0;j<=c;j++){
if(i*prime[j]>N) break;
isnp[i*prime[j]]=1;
if(i%prime[j]==0) break;
}
}
}
936

被折叠的 条评论
为什么被折叠?



