您的位置:首页 > Web前端

hdu 4715 Difference Between Primes

2013-09-13 13:38 429 查看
#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;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: