Pagini recente » Cod sursa (job #2585031) | Cod sursa (job #2219482) | Cod sursa (job #858355) | Cod sursa (job #2610614) | Cod sursa (job #2414083)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin ("factoriale.in");
ofstream cout ("factoriale.out");
int n, k, x;
int f[105], sol[10005];
void mul(int a[], int b) {
int t = 0, i;
for(i = 1; i <= a[0] || t; i++, t /= 10)
a[i] = (t += a[i] * b) % 10;
a[0] = i - 1;
}
int main() {
cin >> n >> k;
for(int i = 1; i <= n; i++) {
cin >> x;
for(int j = 2; j <= x; j++) {
int tmp = j;
for(int k = 2; k * k <= tmp; k++) {
while(tmp % k == 0)
tmp /= k, f[k]++;
}
if(tmp > 1)
f[tmp]++;
}
}
sol[0] = sol[1] = 1;
for(int i = 2; i <= 97; i++) {
if(f[i] && f[i] % k) {
for(int j = k - f[i] % k; j >= 1; j--)
mul(sol, i);
}
}
for(int i = sol[0]; i >= 1; i--)
cout << sol[i];
return 0;
}