Pagini recente » Cod sursa (job #2965110) | Cod sursa (job #2949696) | Cod sursa (job #137697) | Cod sursa (job #734805) | Cod sursa (job #138332)
Cod sursa(job #138332)
#include <stdio.h>
#define MAX_VAL 105
#define FIN "factoriale.in"
#define FOUT "factoriale.out"
int N, K, cnt[MAX_VAL], Res[MAX_VAL];
void mul(int a[], int b)
{
int i, t = 0;
for (i = 1; i <= a[0] || t; ++i, t /= 10)
a[i] = (t += a[i]*b) % 10;
a[0] = i-1;
}
int main(void)
{
int i, j, x, n;
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
for (scanf("%d %d", &N, &K); N; --N)
{
scanf("%d", &x);
for (i = 2; i <= x; ++i)
for (n = i, j = 2; j <= n; ++j)
{
if (n%j) continue;
for (; !(n%j); n /= j) ++cnt[j];
}
}
Res[0] = Res[1] = 1;
for (i = 1; i < MAX_VAL; ++i)
for (j = 0; j < (K-cnt[i]%K)%K; ++j)
mul(Res, i);
for (i = Res[0]; i > 0; --i)
printf("%d", Res[i]);
printf("\n");
return 0;
}