线性筛模板(筛取从1-n的素数)

线性筛

const int maxv = 1e3; //注意修改maxv数值
int vis[maxv],prime[maxv],tol;
void liner_shai(){
    memset(vis,0,sizeof(vis));
    for(int i=2;i<maxv;i++){
        if(!vis[i])
            prime[tol++] = i;
        for(int j=0;j<tol&&i*prime[j]<maxv;j++){
            vis[i*prime[j]] = 1;
            if(i%prime[j] == 0)
                break;
        }
    }
}

你可能感兴趣的:(ACM模板)