Pagini recente » Cod sursa (job #382873) | Cod sursa (job #1231499) | Cod sursa (job #53786) | Cod sursa (job #592791) | Cod sursa (job #897511)
Cod sursa(job #897511)
#include<stdio.h>
int c[1000010],div[8][1000001];
void ciur()
{
int i,j,lim;
c[2]=1;
for(i=4;i<=1000000;i=i+2)
c[i]++;
for(i=3;i<=1000000;i=i+2)
if(c[i]==0)
for(j=i;j<=1000000;j=j+i)
++c[j];
}
int main()
{
freopen("divprim.in","r",stdin);
freopen("divprim.out","w",stdout);
int n,k,i,j,t;
scanf("%d",&t);
ciur();
for(i=1;i<=7;i++)
for(j=1;j<=1000000;j++)
if(c[j]==i)
div[i][j]=j;
else
div[i][j]=div[i][j-1];
for(i=1;i<=1000000;i++)
div[0][i]=1;
while(t)
{
t--;
scanf("%d%d",&n,&k);
printf("%d\n",div[k][n]);
}
return 0;
}