首页 > 其他 > 详细

素数的快速筛法(埃氏筛法模板)

时间:2019-03-23 17:38:59      阅读:198      评论:0      收藏:0      [点我收藏+]
int prime[maxn];//第i个素数
bool is_prime[maxn];//is_prime[i]为true表示i是素数
int sieve(int n)//返回n以内的素数
{
    int cnt=0;
    for(int i=0;i<=n;i++)
        is_prime[i]=true;
    is_prime[0]=is_prime[1]=false;
    for(int i=2;i<=n;i++)
        if(is_prime[i])
        {
            prime[cnt++]=i;//边筛边记录素数
            for(int j=2*i;j<=n;j+=i)
                is_prime[j]=false;
        }
    return cnt;
}

时间复杂度:O(nlog2n)

素数的快速筛法(埃氏筛法模板)

原文:https://www.cnblogs.com/-xinxin/p/10584441.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!