Cod sursa(job #1006241)

Utilizator gbi250Gabriela Moldovan gbi250 Data 6 octombrie 2013 18:27:39
Problema Divizori Primi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>

using namespace std;

int t, n, k, nr_div_prim[1000010], sol[1000010][9];
long long i, j;
int main()
{
    freopen("divprim.in", "r", stdin);
    freopen("divprim.out", "w", stdout);
    scanf("%d", &t);

    for(i=2; i<=1000000; ++i)
        if(!nr_div_prim[i])
        {
            ++nr_div_prim[i];

            for(j=2*i; j<=1000000; j+=i)
                ++nr_div_prim[j];

        }
    sol[1][0] = 1;
    for(i=2; i<=1000000; ++i)
    {
        for(j=0; j<=7; ++j)
            sol[i][j] = sol[i-1][j];
        sol[i][nr_div_prim[i]] = i;
    }

    while( t-- )
    {
        scanf("%d %d", &n, &k);
        printf("%d\n", sol[n][k]);
    }

    return 0;
}