Cod sursa(job #2505876)

Utilizator Sebastian27Marcu Sebastian Sebastian27 Data 7 decembrie 2019 11:33:58
Problema Divizori Primi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#define NMAX 1000001
using namespace std;
ifstream in("divprim.in");
ofstream out("divprim.out");
int sol[8][NMAX], w[NMAX];
int main()
{
    int t, n, i, j, k;
    for (i=2; i<=NMAX; ++i)
        if (!w[i])
            for (j=i; j<=NMAX; j+=i)
                w[j]++;
    for (i=2; i<=NMAX; ++i)
        sol[w[i]][i]=i;
    for (i=1; i<=7; ++i)
        for (j=2; j<=NMAX; ++j)
            if (sol[i][j]==0)
                sol[i][j]=sol[i][j-1];
    in>>t;
    while (t--)
    {
        in>>n>>k;
        out<<sol[k][n]<<'\n';
    }
    return 0;
}