Cod sursa(job #135619)

Utilizator dominoMircea 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;
}