Pagini recente » Cod sursa (job #3290024) | Cod sursa (job #3209904) | Cod sursa (job #2606669) | Cod sursa (job #1118304) | Cod sursa (job #2414081)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin ("factoriale.in");
ofstream cout ("factoriale.out");
int n, k, x;
int f[105], sol[1005];
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]) {
for(int j = f[i] % k; j >= 1; j--)
mul(sol, i);
}
}
for(int i = sol[0]; i >= 1; i--)
cout << sol[i];
return 0;
}