阅读背景:

模板 - 数论 - 线性筛 - 新

来源:互联网 

质数筛

int pri[MAXN],pritop;
bool notpri[MAXN];
//pritop从1开始计数

void sieve1(int n) {
    notpri[1]=1;
    for(int i=2; i<=n; i++) {
        if(!notpri[i])
            pri[++pritop]=i;
        for(int j=1; j<=pritop&&i*pri[j]<=n; j++) {
            notpri[i*pri[j]]=1;
            if(i%pri[j]==0)
                break;
        }
    }
}int pri[MAXN],pritop;
bool notpri[MAXN];



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: