Pagini recente » Istoria paginii runda/oji2021/clasament | Cod sursa (job #1257915) | Cod sursa (job #168626) | Istoria paginii runda/pre_oji/clasament | Cod sursa (job #236020)
Cod sursa(job #236020)
#include<cstdio>
#define N 100001
int ok[N];
int n,t,kt,kdiv[N],k;
void ciur()
{ int i,j;
for(i=2;i*i<=N;i++)
if(ok[i])
{ j=2;
while(i*j<=N)
{ ok[i*j]=0;
j++;
}
}
}
int main()
{ int i,j;
freopen("divprim.in","r",stdin);
freopen("divprim.out","w",stdout);
for(i=1;i<=N;i++) ok[i]=1;
ciur();
for(i=2;i<=N;i++)
{ for(j=2;j<=i/2;j++)
if(ok[j]&&i%j==0) kdiv[i]++;
if(ok[i]) kdiv[i]++;
}
scanf("%d",&t);
for(kt=1;kt<=t;kt++)
{ scanf("%d%d",&n,&k);
for(i=n;i>=2;i--)
if(kdiv[i]==k) {printf("%d\n",i);break;}
if(i<2) printf("0\n");
}
return 0;
}