#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
#define MAX 3000
//先求出来素数。
int isS(int num)
{
int i=2;
for(i=2;i<=sqrt(num);i++)
{
if(num%i==0)
{
return 0;
}
}
return 1;
}
int sushu[MAX];
int main()
{
//freopen("in.txt","r",stdin);
int i,j;
sushu[0]=0;
sushu[1]=1;
for(i=2;i<MAX;i++)
{
if(isS(i))
{
sushu[i]=1;
}
}
int casen;scanf("%d",&casen);
while(casen--)
{
int num;scanf("%d",&num);
int i=0;int qian=num;int hou=num;
int flag=0;
if(num==1)
{
cout<<"2"<<endl;
continue;
}
if(sushu[num]==1)
{
cout<<num<<endl;
flag=1;
}
while(flag==0)
{
//
//向前走
qian++;
if(sushu[qian]==1)
{
cout<<qian<<endl;
flag=1;
break;
}
//向后走
hou--;
if(sushu[hou]==1)
{
cout<<hou<<endl;
flag=1;
break;
}
}
}
return 0;
}
(精)第三届河南省acm(素数)(1不是素数)
最新推荐文章于 2018-04-22 20:51:26 发布