Cod sursa(job #3131415)

Utilizator divadddDavid Curca divaddd Data 19 mai 2023 23:56:46
Problema Factoriale Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>
using namespace std;
int n,k,x;
map<int, int> desc;

ifstream fin("factoriale.in");
ofstream fout("factoriale.out");

void mult(int x){
    int d = 2;
    while(x > 1){
        while(x%d == 0){
            desc[d]++;
            x /= d;
        }
        d++;
        if(d*d > x && x > 1){
            d = x;
        }
    }
}

int main()
{
    fin >> n >> k;
    for(int i = 1; i <= n; i++){
        fin >> x;
        for(int j = 2; j <= x; j++){
            mult(j);
        }
    }
    int ans = 1;
    for(auto [b, e]: desc){
        if(e%k == 0){
            continue;
        }
        for(int i = 1; i <= k-(e%k); i++){
            ans *= b;
        }
    }
    fout << ans;
    return 0;
}