Cod sursa(job #1292473)

Utilizator cojocarugabiReality cojocarugabi Data 14 decembrie 2014 13:24:06
Problema Factoriale Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
# include <bits/stdc++.h>
using namespace std;
ifstream fi("factoriale.in");
ofstream fo("factoriale.out");
const int baza = 100;
int v[105];
char nr[1000005];
void mul(int x,int &n)
{
    int t=0,i;
    for (i=1;i<=n || t;++i) t+=nr[i]*x,nr[i]=t % baza,t/=baza;
    n=i-1;
}
int main(void)
{
    int n,k,y;
    fi>>n>>k;
    while (n --)
    {
        fi>>y;
        for (int j=2;j<=y;++j)
          for (int i=2,x=j;i <= x && x != 1;++i)
            while (!(x % i))
            {
                ++v[i];
                x/=i;
            }
    }
    nr[1]=n=1;
    for (int i=2;i<101;++i) for (int j=(k-(v[i] % k))%k;j;--j) mul(i,n);
    fo << int(nr[n]);
    while (--n)
    {
        if (nr[n] < 100) fo << 0;
        fo << int(nr[n]);
    }
    return 0;
}