Cod sursa(job #244121)
| Utilizator | Data | 14 ianuarie 2009 16:51:05 | |
|---|---|---|---|
| Problema | Factorial | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<fstream.h>
ifstream f("fact.in");
ofstream g("fact.out");
long n,p,m,nr,z,li,ls,y;
int main()
{f>>p;
li=1;
ls=1000000000;
if(p==0)
g<<1<<'\n';
else
{ while(li<=ls)
{m=(li+ls)/2;
nr=0;
z=5;
while(z<=m)
{nr=nr+m/z;
z=z*5;
}
if(nr==p)
break;
else
if(m>p)
ls=m-1;
else
li=m+1;
}
if(li>ls)
g<<"-1"<<'\n';
else
{while(m%5!=0)
m--;
g<<m<<'\n';} }
f.close();
g.close();
return 0;
}
