Cod sursa(job #2517357)

Utilizator mirceaisherebina mircea mirceaishere Data 3 ianuarie 2020 13:51:32
Problema Factoriale Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <fstream>
using namespace std;

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

int n, i, j, p, k, x, f[110], aux;
int sol[10000];

void inmultire(int a[], int nr){
    int t=0;
    for(int i=1; i<=a[0]; i++){
        a[i]=a[i]*nr+t;
        t=a[i]/10;
        a[i]%=10;
    }
    while(t){
        a[0]++;
        a[a[0]]=t%10;
        t/=10;
    }
}

int main(){
    fin>>n>>k;
    for(i=1; i<=n; i++){
        fin>>x;
        for(j=2; j<=x; j++){
            aux=j;
            for(p=2; p*p<=j; p++){
                while(aux%p==0){
                    f[p]++;
                    aux/=p;
                }
            }
            if(aux!=1){
                f[aux]++;
            }
        }
    }
    sol[0]=1;
    sol[1]=1;
    for(i=2; i<=100; i++){
        while(f[i]%k!=0){
            f[i]++;
            inmultire(sol, i);
        }
    }
    for(i=sol[0]; i>0; i--){
        fout<<sol[i];
    }
}