Cod sursa(job #1678423)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 7 aprilie 2016 12:14:00
Problema Factoriale Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>

using namespace std;
ifstream f("factoriale.in");
ofstream g("factoriale.out");
int n,put,max_put,zuf,i,j,x,k,prim[100],sol[1<<17];
void mul(int a[],int q)
{
    int t=0,z;
    for(z=1;z<=a[0]||t;++z)
    {
        a[z]=a[z]*q+t;
        t=a[z]/10;
        a[z]%=10;
    }
    a[0]=z-1;
}
int main()
{
    f>>n>>put;
    for(i=1;i<=n;++i)
    {
        f>>zuf;
        for(j=2;j<=zuf;++j)
        {
            k=2;
            x=j;
            while(x>1)
            {
                while(x%k==0)
                {
                    prim[k]++;
                    x/=k;
                }
                ++k;
            }
        }
    }
    sol[0]=sol[1]=1;
    for(i=2;i<100;++i)
        if(prim[i]&&prim[i]%put!=0)
            for(j=prim[i]%put+1;j<=put;++j) mul(sol,i);
    for(i=sol[0];i;--i) g<<sol[i];
    return 0;
}