Pagini recente » Cod sursa (job #1414439) | Cod sursa (job #2299333) | Cod sursa (job #2380463) | Cod sursa (job #1451830) | Cod sursa (job #2915216)
#include <fstream>
#include <cmath>
using namespace std;
int main() {
ifstream fin("factoriale.in");
ofstream fout("factoriale.out");
int n, k;
fin >> n >> k;
int f[100] = {};
int p[100] = {};
for (int i = 0; i < n; i++) {
int x;
fin >> x;
for (int j = 2 ; j <= x ; j ++) {
int d = 2;
int aux = j;
while (aux / d >= 1) {
if (aux % d == 0) {
f[d] = d;
p[d] += 1;
aux = aux / d;
} else d++;
}
}
}
long long res = 1;
for (int i = 0 ; i < 100 ; i ++)
if (p[i] != 0) {
if (p[i] % k != 0) {
if (p[i] > k)
res *= pow(f[i], k - (p[i] % k));
else
res *= pow(f[i], k - p[i]);
}
}
fout << res;
fin.close();
fout.close();
return 0;
}