素数筛法

来源:互联网 发布:网龙java笔试题 编辑:程序博客网 时间:2024/06/13 11:57
#include <bits/stdc++.h>using namespace std;const int N=10000000;bool isPrime[N+1];int Prime[N+1];int num=0;void InitPrime(){    for(int i=0; i<=N; i++)        isPrime[i]=true;    for(int i=2; i*i<=N; i++)    {        if(isPrime[i]==true)        {            for(int j=i*i; j<=N; j+=i)                isPrime[j]=false;        }    }    for(int i=2;i<=N;i++)    {        if(isPrime[i]==true)        {            Prime[num++]=i;        }    }}int main(){    InitPrime();    cout<<num<<endl;    cout<<Prime[num-1]<<endl;    for(int i=0;i<100;i++)        cout<<Prime[i]<<endl;    return 0;}

原创粉丝点击