素数筛

来源:互联网 发布:网络映射如何做 编辑:程序博客网 时间:2024/05/01 05:11
const int maxn = 10000000;
bool p[maxn];
void Getprime()
{
    int m = sqrt(maxn + 0.5);
    memset(p,false,sizeof(p));
    p[0] = p[1] = true;
    for(int i = 2;i <= m; ++i)
    {
        if(!p[i]) for(int j = i * i;j <= maxn; j += i) p[j] = true;
    }

}

1e7 100ms左右;

1e6 6ms左右;

0 0
原创粉丝点击