Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Profil Verde Flaviu-Cristian | village | Cod sursa (job #135619)
Cod sursa(job #135619)
Utilizator |
Mircea Pasoi domino |
Data |
14 februarie 2008 00:39:18 |
Problema |
Factoriale |
Scor |
Ascuns |
Compilator |
cpp |
Status |
done |
Runda |
|
Marime |
0.67 kb |
#include <stdio.h>
#define MAX_VAL 105
#define FIN "factoriale.in"
#define FOUT "factoriale.out"
int N, K, cnt[MAX_VAL];
ll Res;
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];
}
}
for (Res = i = 1; i < MAX_VAL; ++i)
for (j = 0; j < (K-cnt[i]%K)%K; ++j)
Res *= i;
printf("%lld\n", Res);
return 0;
}