Pagini recente » Cod sursa (job #2367959) | Cod sursa (job #602878) | Cod sursa (job #1698837) | Cod sursa (job #3030194) | Cod sursa (job #1149116)
#include <cstdio>
int v[7][1000001];
int c[1000001];
FILE*f=fopen("divprim.in","r");
FILE*h=fopen("divprim.out","w");
void ciur(){
for ( int i=2;i*i<=1000000;++i )
if ( c[i]==0 )
for ( int j=i;j<=1000000;j+=i )
c[j]++;
for ( int i=1;i<=1000000;++i )
v[c[i]][++v[c[i]][0]]=i;
}
int main()
{
int t,n,k;
ciur();
fscanf(f,"%d",&t);
for ( int i=1;i<=t;++i ){
fscanf(f,"%d%d",&n,&k);
int p=0;
for ( int pas=1<<24;pas;pas/=2 )
if ( p+pas<=v[k][0]&&v[k][p+pas]<=n )
p+=pas;
if ( v[k][1]>n )
fprintf(h,"0\n");
else
fprintf(h,"%d\n",v[k][p]);
}
return 0;
}