Cod sursa(job #3191980)
Utilizator | Georgescu David davidgeo123 | Data | 11 ianuarie 2024 08:40:43 |
---|---|---|---|
Problema | Fractii | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
const int MAXN=2000000;
bool ciur[MAXN+1];
void make_ciur()
{
ciur[0]=ciur[1]=1;
for(int i=3; i*i<=MAXN; i+=2)
if(ciur[i]==0)
for(int j=i*i; j<=MAXN; j+=2*i)
ciur[j]=1;
}
int main()
{
ifstream cin("prim.in");
ofstream cout("prim.out");
make_ciur();
int k;
cin>>k;
int care=2;
for(int i=3; i<=MAXN && k; i+=2)
if(ciur[i]==0)
--k, care=i;
cout<<1ll*care*care;
return 0;
}