Cod sursa(job #114575)

Utilizator pandaemonAndrei Popescu pandaemon Data 14 decembrie 2007 21:15:47
Problema Divizori Primi Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include<stdio.h>
#define LMAX 1000001

int div[LMAX+1],k;  long t,n,i,j,sol[LMAX+1][8];

void generare()
{for(i=2;i<=10000;i++)
 if(div[i]==0)
 for(j=i;j<=LMAX;j+=i) div[j]++;

 for(i=1;i<=7;i++)
 for(j=2;j<=LMAX;j++)
 if(div[j]==i) sol[j][i]=j;
 else sol[j][i]=sol[j-1][i];

}

main()
{freopen("divprim.in","r",stdin);
 freopen("divprim.out","w",stdout);

 generare();

 scanf("%ld",&t);
 for(i=1;i<=t;i++)
 {scanf("%ld %d",&n,&k);
  printf("%ld\n",sol[n][k]);}
}