埃氏筛法

来源:互联网 发布:电商网站性能优化 编辑:程序博客网 时间:2024/06/11 13:05

时间复杂度:O(nlognlogn),对于程序设计竞赛中的数据规模,看作线性也无妨


代码:

int prime[maxn];//第i个素数bool is_prime[maxn+1];//is_prime[i]为true表示i是素数//返回n以内素数的个数int sieve(int n){     int p=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[p++]=i;               for(int j=2*i;j<=n;j++i)   is+prime[j]=false;           }      }      return p;}


原创粉丝点击