Pagini recente » Cod sursa (job #2790451) | Cod sursa (job #10463) | Cod sursa (job #319469) | Cod sursa (job #3139819) | Cod sursa (job #132228)
Cod sursa(job #132228)
#include <stdio.h>
typedef int hugeNR[10005];
int N, K, E, prim[105], exp[105], x[105];
hugeNR Res;
void inm(hugeNR a, int nr)
{
int i, t = 0;
for (i = 1; i <= a[0] || t; i++, t /= 10)
{
if (i > a[0]) a[i] = 0;
a[i] = (t += a[i] * nr) % 10;
}
a[0] = i-1;
}
int main(void)
{
int i, j, k;
freopen("factoriale.in", "r", stdin);
freopen("factoriale.out", "w", stdout);
scanf("%d %d", &N, &K);
for (i = 2; i <= 100; i++)
prim[i] = 1;
for (i = 2; i <= 100; i++)
if (prim[i])
for (j = i+i; j <= 100; j += i)
prim[j] = 0;
for (; N; N--)
{
scanf("%d", &k);
for (i = 2; i <= k; i++)
if (prim[i])
{
for (j = i; j <= k; j *= i)
exp[i] += k/j;
}
}
Res[0] = Res[1] = 1;
for (i = 2; i <= 100; i++)
if (exp[i] % K)
for (j = 1; j <= K - exp[i] % K; j++)
inm(Res, i);
for (i = Res[0]; i >= 1; i--)
printf("%d", Res[i]);
printf("\n");
return 0;
}