我想进一步优化筛子。我已经从http://en.wikipedia.org/wiki/Wheel_factorization#Procedure学习了车轮分解。但我不明白如何在筛子中实现砂轮分解?
bool status[N]={0};
void SOE(){
status[0]=1;
status[1]=1;
status[2]=0;
for(int i=4;i<N;i=i+2){
status[i]=1;
}
int sqrtN=sqrt(N);;
for(int i=3;i<=sqrtN;i=i+2){
if(status[i]==0){
for(int j=i*i;j<N;j+=i+i){
status[j]=1;
}
}
}
}