#include<cstdio>
#include<iostream>
#define MAXN 2000010
using namespace std;
int prim[MAXN],flag[MAXN];
int len;
//筛素数
void init(){
int i,j;
len=0;
for(i=2;i<=2000001;i++){
if(!flag[i]) prim[len++]=i;
for(j=0;j<len&&i*prim[j]<=2000001;++j)
{
flag[i*prim[j]]=1;
if(i%prim[j]==0) break;
}
}
}
int main(){
int _;
int n;
cin>>_;
init();
while(_--){
scanf("%d",&n);
if(n>=0)
for(int i=0;i<len;i++){
if(!flag[n+prim[i]]){
printf("%d %d\n",prim[i]+n,prim[i]);
break;
}
}
else
for(int i=0;i<len;i++){
if(!flag[prim[i]-n]){
printf("%d %d\n",prim[i],prim[i]-n);
break;
}
}
}
}
hdu 4715 Difference Between Primes
最新推荐文章于 2019-09-27 19:59:56 发布