Pagini recente » Cod sursa (job #655163) | Cod sursa (job #8622) | Cod sursa (job #613365) | Cod sursa (job #305625) | Cod sursa (job #228500)
Cod sursa(job #228500)
#include <fstream.h>
long fact(long p)
{long lim=p-(p%250000),s=lim,i,x,m,sol;
if (lim%500000==0) x=(4*lim+5)/5;
else x=(4*lim+10)/5;
if(lim==0) x=0;
if(p==0) sol=-1;
else
for (i=lim*5+5;i<=p*5;i=i+5)
{m=i;
while (m%5==0)
{if(m==0) break;
m=m/5;
s=s+1;
if (m==1) break;
}
if (m!=0) x=x+1;
if (s==p) {sol=x*5; break;}
else if (s>p) {sol=-1; break;}
}
if(p%250000==0) sol=x*5;
return sol;
}
int main ()
{long p;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
g<<fact(p);
return 0;
}