您的位置:首页 > 其它

质数中的质数

2015-11-24 22:56 253 查看

质数中的质数


Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^

题目描述

如果一个质数,它在质数中的编号也是质数,就称为质数中的质数。
例如3是一个排在第2位质数,所以3是质数中的质数,虽然7是一个质数,但7排在第4位,所以7不是质数中的质数
给你一个数n,求出 >=n 的一个最小的质数中的质数

输入

输入一个数n(0<=n <= 10^6)

输出

输出>=n的最小的质数中的质数

示例输入

2
3
4


示例输出

3
3
5


提示

来源

示例程序

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int a[10000010],b[10000001];
int main()
{
int i,j,n,m,k,t;
a[0]=1;
a[1]=1;
memset(a,0,sizeof(a));
for(i=2;i<=10000001;i++)
{
if(a[i]==0)
{
for(j=i*2;j<10000001;j+=i)
{
a[j]=1;
}
}
}
k=1;
for(i=2;i<10000001;i++)
if(a[i]==0)
b[k++]=i;
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<10000001;i++)
if(b[i]>=n)
{
for(j=2;j<=sqrt(i);j++)
if(i%j==0)
break;
if(j>sqrt(i))
break;
}
/*for(i=1;i<=100;i++)
printf("%d ",b[i]);*/
printf("%d\n",b[i]);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: