Pagini recente » Istoria paginii utilizator/doru991 | Diferente pentru problema/infasuratoare intre reviziile 22 si 21 | Istoria paginii utilizator/bogdyss | Diferente pentru utilizator/palcuiealex intre reviziile 70 si 71 | Cod sursa (job #2328305)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("divprim.in");
ofstream fout("divprim.out");
int n,a[1500005],b[1500005];
int main()
{
int k,t,i,j;
n=1000000;
a[0]=1;
a[1]=1;
b[2]=1;
for(i=4;i<=n;i+=2)
{
a[i]=1;
b[i]++;
}
for(i=3;i*i<=n;i+=2)
if(a[i]==0)
for(j=i*i;j<=n;j+=2*i)
a[j]=1;
for(i=3;i<=n;i+=2)
if(a[i]==0)
for(j=i;j<=n;j+=i)
b[j]++;
fin>>t;
for(i=1;i<=t;i++)
{
fin>>n>>k;
for(j=n;b[j]!=k && j>0;j--)
;
fout<<j<<"\n";
}
return 0;
}