Input
输入一个数N(N <= 10^6)
Output
输出>=N的最小的质数中的质数。
Input示例
20
Output示例
输入一个数N(N <= 10^6)
Output
输出>=N的最小的质数中的质数。
Input示例
20
Output示例
题解:一般解法打素数表然后直接查找是不是符合条件即可。
AC代码:
#include<iostream>
#include<cstring>
using namespace std;
const int maxn = 1000200;
int a[maxn];
int prime[maxn];
int p,n;
void prime1()
{
memset(a,0,sizeof(a));
a[0]=a[1]=1;
p=1;
for(int i=2;i<=maxn;i++)
{
if(a[i]==0)
{
prime[p++]=i;
for(int j=2*i;j<=maxn;j+=i)a[j]=1;
}
}
}
int main()
{
cin>>n;
prime1();
int i;
while(1)
{
for(i=1;i<=p;i++)
{
if(n==prime[i])break;
}
if(a[n]==0&&a[i]==0)break;
n++;
}
cout<<n<<endl;
}