素数筛

//求解第几个素数,直接用素数筛
#include<iostream>
using namespace std;
int prime[10001];
bool mark[10001];
int size=0;
void init()
{
    for(int i=0;i<10001;i++)
        mark[i]=false;
    for(int i=2;i<10001;i++)
    {
        if(mark[i]==true)continue;
        prime[size++]=i;
        for(int j=i*i;j<10001;j+=i)
        {
            mark[j]=true;
        }

    }
}
int main()
{
    int n;
    init();
    while(cin>>n)
    {
        cout<<prime[n-1]<<endl;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_38030194/article/details/80820230