1. 程式人生 > >線性素數篩選法模板

線性素數篩選法模板

void Prime(){  
    memset(tag,0,sizeof(tag));  
    int cnt=0;  
    tag[0]=tag[1]=1;  
    for(int i = 2; i<N; i++){  
        if(!tag[i])  
            prime[cnt++]=i;  
        for(int j=0;j<cnt && prime[j]*i<N; j++){  
            tag[i*prime[j]] = 1;  
            if(i % prime[j]==0)  
                break;  
        }  
    }  
}