欧拉筛


const int maxx = 1e7+10;
int prime[maxx+10];
bool vis[maxx+10];
void sushu()
{``
    int num=0;
    vis[0]=vis[1]=1;
    for(int i=2; i<maxx; i++)
    {
        if(vis[i]==0)prime[++num]=i;//存素数
        for(int j=1; j<=num; j++) //遍历每个素数
        {
            if(prime[j]*i>maxx)break;
            vis[i*prime[j]]=1;  //合数都标1
            if(i%prime[i])break;//防止重复遍历

        }
    }

}
©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页