Cod sursa(job #961252)

Utilizator primulDarie Sergiu primul Data 11 iunie 2013 20:11:55
Problema Factoriale Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream>
using namespace std;
ifstream f("factoriale.in");
ofstream g("factoriale.out");
int s,x,p,i,y,n,m,l,t,j,k,d[100],v[50]={0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101};
long long nr[100000];
int main()
{f>>n>>k;
for(i=1;i<=n;++i)
{f>>x;
for(j=1;v[j]<=x;++j)
{s=0;
p=v[j];
while(p<=x)
{s=s+x/p;
p=p*v[j];
}
d[v[j]]=d[v[j]]+s;
}
}
m=1;
nr[m]=1;
for(i=1;i<=100;++i)
    if(d[i]!=0&&d[i]%k!=0)
        for(j=1;j<=k-d[i]%k;++j)
        {t=0;
        for(l=1;l<=m;++l)
        {y=t+nr[l]*i;
        t=y/10;
        nr[l]=y%10;
        }
        while(t!=0)
        {++m;
        nr[m]=t%10;
        t=t/10;
        }}
for(i=m;i>=1;--i)
    g<<nr[i];
g<<'\n';
f.close();
g.close();
return 0;
}