Pagini recente » Istoria paginii preoni-2006/finala/solutii | Istoria paginii runda/csdf/clasament | Istoria paginii utilizator/tudortt | Istoria paginii utilizator/andreeaanbrus | Cod sursa (job #2013151)
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
ifstream fin("divprim.in");
ofstream fout("divprim.out");
int a[1000002], f[1000002], sol[1000002][9];
int i, j, t, n, k;
int main(){
for(i=2;i<=1000;i++)
{
for(j=i+i;j<=1000000;j+=i)
{
f[j]=1;
}
}
for(i=2;i<=1000;i++)
{
if(f[i]==0)
for(j=i;j<=1000000;j+=i)
a[j]++;
for(j=1;j<=7;j++)
{
if(a[i]==j)
sol[i][j]=i;
else
sol[i][j]=sol[i-1][j];
}
}
/*for(i=1;i<=20000;i++)
{
fout<<i<<" "<<f[i]<<" "<<a[i]<<" ";
for(j=1;j<=7;j++)
fout<<sol[i][j]<<" ";
fout<<"\n";
}
*/
fin>>t;
for(i=1;i<=t;i++)
{
fin>>n>>k;
fout<<sol[n][k]<<"\n";
}
fin.close();
fout.close();
return 0;
}