Cod sursa(job #2385325)
| Utilizator | Data | 21 martie 2019 19:58:07 | |
|---|---|---|---|
| Problema | Divizori Primi | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | excelenta-tema2 | Marime | 0.62 kb |
#include <fstream>
#define NMAX 1000030
using namespace std;
ifstream f("divprim.in");
ofstream g("divprim.out");
int nd[NMAX];
int rez[NMAX][8];
int n,d=1000005, t,k;
void ciur()
{
for(int i=2; i <= d; ++i)
{
if(!nd[i])
for(int j = i; j <=d; j+=i)
nd[j]++;
for(int j=1; j<=7; ++j)
rez[i][j]=rez[i-1][j];
if(nd[i]<=7) rez[i][nd[i]]=i;
}
}
int main()
{
ciur();
f>>n;
for(int i = 1; i <= n; ++i )
{
f>> t >> k;
g << rez[t][k] << '\n';
}
f.close();
g.close();
return 0;
}
