Cod sursa(job #228507)
| Utilizator | Data | 7 decembrie 2008 13:36:22 | |
|---|---|---|---|
| Problema | Factorial | Scor | 35 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <fstream.h>
int main ()
{long p,lim,s,i,x,m,sol;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
lim=p-(p%250000);
s=lim;
if (lim%500000==0) x=(4*lim+5)/5;
else x=(4*lim+10)/5;
if(lim==0) x=0;
if(p==0) g<<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) {g<<x*5; break;}
else if (s>p) {g<<-1; break;}
}
if(p%250000==0) g<<x*5;
return 0;
}
