#include<stdio.h>
#include<vector>
#include<math.h>
#include<iostream>
#define MAX 20000009
using namespace std;
bool arr[MAX];
vector<long long int>twin_prime1;
vector<long long int>twin_prime2;
void sieve()
{
long long int i,j,k;
k=sqrt(MAX);
for(i=3; i<=k; i+=2)
{
if(arr[i]==0)
{
for(j=i*i; j<MAX; j+=i+i)
{
arr[j]=1;
}
}
}
arr[1]=1;
for(i=4; i<MAX; i=i+2)
{
arr[i]=1;
}
twin_prime1.push_back(3);
twin_prime2.push_back(5);
for(i=5; i<MAX; i+=2)
{
if(arr[i]==0&&arr[i+2]==0)
{
twin_prime1.push_back(i);
twin_prime2.push_back(i+2);
}
}
}
int main()
{
long long int S;
sieve();
while(scanf("%lld",&S)==1)
{
printf("(%lld, %lld)\n",twin_prime1[S-1],twin_prime2[S-1]);
}
return 0;
}
#include<vector>
#include<math.h>
#include<iostream>
#define MAX 20000009
using namespace std;
bool arr[MAX];
vector<long long int>twin_prime1;
vector<long long int>twin_prime2;
void sieve()
{
long long int i,j,k;
k=sqrt(MAX);
for(i=3; i<=k; i+=2)
{
if(arr[i]==0)
{
for(j=i*i; j<MAX; j+=i+i)
{
arr[j]=1;
}
}
}
arr[1]=1;
for(i=4; i<MAX; i=i+2)
{
arr[i]=1;
}
twin_prime1.push_back(3);
twin_prime2.push_back(5);
for(i=5; i<MAX; i+=2)
{
if(arr[i]==0&&arr[i+2]==0)
{
twin_prime1.push_back(i);
twin_prime2.push_back(i+2);
}
}
}
int main()
{
long long int S;
sieve();
while(scanf("%lld",&S)==1)
{
printf("(%lld, %lld)\n",twin_prime1[S-1],twin_prime2[S-1]);
}
return 0;
}
0 comments: (+add yours?)
Post a Comment