rt
本地自测,6倍原理写出来的筛法比欧拉更优
理论上也应该是6倍原理筛法更优
但是没见过有人提出来这个方法,是有什么错误或弊端吗?
提交也可以正常通过,至少1e8情况下不会有漏筛错筛
求大佬解答!!!
int pr[1000010]={2,2,3};
bool is_not_pr[MAXN];
void Sieve(int n){
for(res k=5;k<=n;k+=6){
bool flag=0;
if(!is_not_pr[k]){
pr[++pr[0]]=k;
for(res i=5;i*k<=n;i+=6){
is_not_pr[i*k]=1;
if((i+2)*k<=n) is_not_pr[(i+2)*k]=1;
}
flag=1;
}
if(!is_not_pr[k+2]){
pr[++pr[0]]=k+2;
for(res i=5;i*(k+2)<=n;i+=6){
is_not_pr[i*(k+2)]=1;
if((i+2)*(k+2)<=n) is_not_pr[(i+2)*(k+2)]=1;
}
if(flag) printf("%d and %d\n",k,k+2);
}
}
}