Pagini recente » Cod sursa (job #106812) | concurs_000000 | Cod sursa (job #1679830) | Cod sursa (job #3155317) | Cod sursa (job #138413)
Cod sursa(job #138413)
#include<iostream.h>
#include<fstream.h>
#define nrcifre 10000
ifstream f("factoriale.in");
ofstream g("factoriale.out");
int factori[100],d,o,l,aux,n,k,i,sol[nrcifre];
void solutie(int t)
{
for(int r=nrcifre-1;r>=1;r--)
{ sol[r]=(sol[r]*t)%10;
sol[r-1]+=(sol[r]*t)/10;}
}
void creste(int o)
{
for(aux=2;aux<=o;aux++)
{
l=aux;d=2;
while(l!=1)
{ while(l%d==0)
{factori[d]++;l/=d;}
d++;}}}
int main()
{
sol[nrcifre-1]=1;
f>>n>>k;
for(i=1;i<=n;f>>o,creste(o),i++);
for(i=2;i<=99;i++)
{if (factori[i])
for(int u=1;u<=k-(factori[i]%k)&&factori[i]%k!=0;solutie(i),u++);
}
int flag=0;
for(i=1;i<nrcifre;i++)
{if(sol[i]!=0) flag=1;
if(flag) g<<sol[i];}
f.close();
g.close();
return 0;
}