51nod 1181 质数中的质数(质数筛法)

来源:互联网 发布:淘宝网如何盈利模式 编辑:程序博客网 时间:2024/05/20 17:59

质数筛法

#include <bits\stdc++.h>using namespace std;typedef long long ll;const int N=1e6+10000;int vis[N]={0},prime[N],prime1[N],cnt=0,cnt1=0;void init(){    for(int i=2;i<N;i++)    {        if(vis[i]==0)        {            vis[i]=1;            prime[++cnt]=i;            for(int j=i;j<N;j+=i)            {                vis[j]=1;            }        }    }    memset(vis,0,sizeof(vis));   for(int i=1;i<=cnt;i++)   {vis[prime[i]]=1;   if(vis[i])prime1[++cnt1]=prime[i];   }}int main(){    init();    int n,i;    cin>>n;    for(i=1;i<=cnt1;i++)        if(prime1[i]>=n)break;        cout<<prime1[i]<<endl;    return 0;}


原创粉丝点击