Cod sursa(job #2415141)

Utilizator DanutAldeaDanut Aldea DanutAldea Data 25 aprilie 2019 16:10:46
Problema Factoriale Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
using namespace std;

ifstream fin("factoriale.in");
ofstream fout("factoriale.out");

long long n,k,i,j,d,x,v[101],sol[2000000],aux,c;

void inm(long long x){
    long long t=0;
    for(long long i=1;i<=sol[0];i++){
        sol[i]=sol[i]*x+t;
        t=sol[i]/10;
        sol[i]%=10;
    }

    while(t){
        sol[++sol[0]]=t%10;
        t/=10;
    }
}

int main(){
    fin>>n>>k;

    for(;n;n--){
        fin>>x;

        for(j=2;j<=x;j++){
            c=j;
            for(d=2;d*d<=c;d++)
                while(c%d==0){
                    c/=d;
                    v[d]++;
                }
            if(c!=1)
                v[c]++;
        }

    }

    sol[0]=1;
    sol[1]=1;

    for(i=2;i<=100;i++)
        if(v[i]%k!=0){
            for(j=v[i];j<k;j++)
                inm(i);
        }

    for(;sol[0];sol[0]--)
        fout<<sol[sol[0]];

    return 0;
}