Cod sursa(job #2873129)

Utilizator matei0000Neacsu Matei matei0000 Data 18 martie 2022 18:14:59
Problema Factoriale Scor 80
Compilator cpp-64 Status done
Runda concursceva1 Marime 1.07 kb
#include <fstream>

using namespace std;
int f[100];
int H[1000];

ifstream cin("factoriale.in");
ofstream cout("factoriale.out");

void desc(int n)
{
    int d = 2,p;
    while(n > 1)
    {
        p = 0;
        while(n % d == 0)
        {
            p++;
            n /= d;
        }
        if(p)
            f[d]+=p;
        d++;
        if(n>1 && d * d > n)
        {
            d = n;
        }
    }
}

void prod(int X)
{
    int i;
    int T=0;

    for (i=1; i<=H[0]; i++)
    {
        H[i]=H[i]*X+T;
        T=H[i]/10;
        H[i]=H[i]%10;
    }
    while (T)
    {
        H[++H[0]]=T%10;
        T/=10;
    }
}

void print()
{
    for(int i=H[0];i>0;i--)
        cout<<H[i];
}

int main()
{
    H[0]=1;
    H[1]=1;
    int n,k,a;
    cin>>n>>k;
    for(int i=0; i<n; i++)
    {
        cin>>a;
        for(int j=1; j<=a; j++)
        {
            desc(j);
        }
    }
    for(int i=1; i<100; i++)
    {
        for(int j=0; j<(k-f[i]%k)%k; j++)
            prod(i);
    }
    print();
    return 0;
}