Cod sursa(job #1165151)

Utilizator gapdanPopescu George gapdan Data 2 aprilie 2014 15:11:05
Problema Divizori Primi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<cstdio>
#define NMAX 1000000
#define val 1000002
using namespace std;
int s[val],m[val][8];
int n,T,i,k,j;
void ciur()
{
    int i,j;
    for (i=2;i<=NMAX;++i)
    {
        if(s[i]==0)
        {
            for (j=s[i];j<=NMAX;j+=i) ++s[j];
        }
    }
}
int main()
{
    freopen("divprim.in","r",stdin);
    freopen("divprim.out","w",stdout);
    scanf("%d",&T);
    ciur();
    for (i=1;i<=NMAX;++i)
    {
        for (j=0;j<=8;++j)
            m[i][j]=m[i-1][j];
        m[i][s[i]]=i;
    }
    for (i=1;i<=T;++i)
    {
       scanf("%d%d",&n,&k);
       printf("%d\n",m[n][k]);
    }
    return 0;
}