Cod sursa(job #2530846)

Utilizator WilIiamperWilliam Damian Balint WilIiamper Data 25 ianuarie 2020 12:56:39
Problema Divizori Primi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#define MAX 1000005

using namespace std;
ifstream fin ("divprim.in");
ofstream fout ("divprim.out");
int n, t, k, v[MAX], sol[10][MAX];

int main()
{
    int i, j;
    for (i = 2; i < MAX; i++) {
        if (!v[i]) {
            for (j = i; j < MAX; j += i)
                v[j]++;
        }
    }

    for (int i = 0; i <= 7; i++) {
        for (int j = 1; j <= 1000000; j++) {
            if (v[j] == i)
                sol[i][j] = j;
            else
                sol[i][j] = sol[i][j-1];
        }
    }

    fin >> t;
    while (t--) {
        fin >> n >> k;
        fout << sol[k][n] << "\n";
    }
    return 0;
}