如果一个质数,在质数列表中的编号也是质数,那么就称之为质数中的质数。例如:3 5分别是排第2和第3的质数,所以他们是质数中的质数。现在给出一个数N,求>=N的最小的质数中的质数是多少(可以考虑用质数筛法来做)。
Input
输入一个数N(N <= 10^6)
Output
输出>=N的最小的质数中的质数。
Input示例
20
Output示例
31
素数求法:https://blog.youkuaiyun.com/a17865569022/article/details/78309512
#include<bits/stdc++.h>
using namespace std;
int num[1000001];
void isprime()
{
memset(num,1,sizeof(num));
num[0]=num[1]=0;
for(int i=2;i<=sqrt(1000000);i++)
{
if(num[i])
for(int j=i*i;j<1000000;j+=i)
num[j]=0;
}
}
int main()
{
int n;
cin>>n;
int flag=0;
int cnt=0,i;
isprime();
for(i=2;i<1000000;i++)
{
if(num[i])
cnt++;
if(i>=n&&num[i]&&num[cnt])
break;
}
cout<<i<<endl;
return 0;
}