Pagini recente » Cod sursa (job #2021365) | Cod sursa (job #2595589) | Cod sursa (job #39030) | Cod sursa (job #2303209) | Cod sursa (job #1938144)
#include <iostream>
#include <fstream>
#define LN 1000000
using namespace std;
ifstream in("divprim.in");
ofstream out("divprim.out");
int t,k,n;
int nrdiv[LN+2];
void preprocDiv()
{
for(int i=2;i<=LN;++i)
{
if(nrdiv[i]==0)
{
for(int j=i;j<=LN;j+=i)
nrdiv[j]++;
}
}
}
/*int bs(int st,int dr)
{
if(st>dr)
return 0;
else{
int mij=st+(dr-st)/2;
}
}*/
int main()
{
preprocDiv();
/*for(int i=1;i<=LN;++i)
out<<i<<" ";
out<<"\n";
for(int i=1;i<=LN;++i)
out<<nrdiv[i]<<" ";*/
in>>t;
for(int q=1;q<=t;++q)
{
in>>n>>k;
int sol=n-1;
while(nrdiv[sol]!=k && sol>0)
sol--;
out<<sol<<"\n";
}
return 0;
}