Cod sursa(job #329217)

Utilizator mathboyDragos-Alin Rotaru mathboy Data 5 iulie 2009 12:52:45
Problema Divizori Primi Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <cstdio>
#define M 1000000
#define DIM 1000002
int ndp[DIM],t,i,j,u[DIM],sol[DIM][8],n,k;

using namespace std;

int preprocesare()
{   
    
    for(i=2; i<=M; ++i)
       {
             if( !u[i] )
               {
                      for(j=2*i; j<=M; j+=i)
                         {
                                ndp[j]++;
                                u[j]=1;
                         }
               }
       }
   for(i=1; i<=M; ++i)
      { 
            for(j=0; j<=7; ++j)
            sol[i][j]=sol[i-1][j];
      sol[i][ndp[i]]=i;     
      }        
            
return 0;          
}
int main()
{
    freopen("divprim.in","r",stdin);
    freopen("divprim.out","w",stdout);
    scanf("%d\n",&t);
    preprocesare();
    while( t-- )
         {
             scanf("%d%d\n",&n,&k);
             printf("%d\n",sol[n][k] );
         }    
return 0;
}