Cod sursa(job #2657492)

Utilizator IoanMihaiIoan Mihai IoanMihai Data 10 octombrie 2020 19:31:55
Problema Divizori Primi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("divprim.in");
ofstream fout("divprim.out");
#define MAX 1000005
int t, n, k, a[8][MAX];
short v[MAX];
void ciur()
{
    for (int i=2;i<=MAX;i++)
    {
        if (v[i]==0)
        {
            for (int j=i;j<=MAX;j+=i)
                v[j]++;
        }
    }
}
void f(int k)
{
    int m = 0;
    for (int i=1;i<=MAX;i++){
        if (v[i] == k)
            m = i;
        a[k][i] = m;
    }
}
int main() {
    fin >> t;
    ciur();
    for (int i=1;i<=7;i++)
        f(i);

    for (int i=1;i<=t;i++){
        fin >> n >> k;
        fout << a[k][n] << '\n';
    }
    return 0;
}