Cod sursa(job #304259)

Utilizator funkydvdIancu David Traian funkydvd Data 11 aprilie 2009 18:33:44
Problema Divizori Primi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<stdio.h>

int v[1000001],m[1000001][8],i,j;
void ciur()
{
 for (i=2; i<=1000000; i++)
   if (v[i]==0)
      for (j=i; j<=1000000; j+=i) v[j]++;
}
void rezolvare()
{
for (i=2; i<=1000000; i++)
 {
   for (j=1; m[i-1][j]>0; j++) m[i][j]=m[i-1][j];
   m[i][v[i]]=i;
 }
}
int main()
  {
  freopen("divprim.in","r",stdin);
  freopen("divprim.out","w",stdout);int n,k,t,i;
   scanf("%d", &t);
   ciur();
   rezolvare();
   for (i=1; i<=t; i++)
     {scanf ("%d %d", &n, &k);
      printf ("%d", m[n][k]);
     }
   return 0;
}