Cod sursa(job #2013170)
| Utilizator | Data | 20 august 2017 18:02:19 | |
|---|---|---|---|
| Problema | Divizori Primi | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.69 kb |
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
ifstream fin("divprim.in");
ofstream fout("divprim.out");
int f[1000002], sol[1000002][9];
int i, j, t, n, k;
int main(){
for(i=2;i<=1000000;i++)
if(f[i]==0)
{
for(j=i;j<=1000000;j+=i)
f[j]++;
}
for(i=2;i<=1000000;i++)
{
for(j=1;j<=7;j++)
{
if(f[i]==j)
sol[i][j]=i;
else
sol[i][j]=sol[i-1][j];
}
}
fin>>t;
for(i=1;i<=t;i++)
{
fin>>n>>k;
fout<<sol[n][k]<<"\n";
}
fin.close();
fout.close();
return 0;
}
