Cod sursa(job #1672266)
| Utilizator | Data | 2 aprilie 2016 15:13:36 | |
|---|---|---|---|
| Problema | Divizori Primi | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.69 kb |
#include <fstream>
using namespace std;
ifstream fin ("prim.in");
ofstream fout("prim.out");
unsigned p[1600001];
unsigned long long ciur(unsigned long long n)
{
unsigned long long i, j, nr = 1;
for(i = 2; i <= n; ++i)
{
if(p[i] == 0)
{
nr++;
for(j = i * i; j <= n; j += i) p[j] = 1;
}
}
return nr;
}
int main()
{
int n, s = 0, nr;
unsigned long long i;
fin >> n;
nr = ciur(1600000);
for(i = 2; ; ++i)
{
if(!p[i])
if(s == n)
{
fout << i * i;
break;
}
else s++;
}
return 0;
}
