#include<iostream>
#include<cmath>
#define M 20000000
using namespace std;
bool prime[M];
unsigned long int twinprm[M];
int genprime();
int main()
{
register unsigned long n;
genprime();
//freopen("in.txt","r",stdin);
while(scanf("%ld",&n)==1)
cout<<"("<<twinprm[n]<<", "<<twinprm[n]+2<<")\n";
return 0;
}
int genprime()
{
register unsigned long i,j,s=sqrt(M);
for(i=2;i<M;i++)
prime[i]=true;
for(i=2;i<s;)
{
if(prime[i])
for(j=i+i;j<M;j+=i)
prime[j]=false;
for(i++;!prime[i];i++);
}
j=1;
for(i=2;i<M;i++)
if(prime[i]&&prime[i+2])twinprm[j++]=i;
return 0;
}
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.