Cod sursa(job #244130)
| Utilizator | Data | 14 ianuarie 2009 16:56:10 | |
|---|---|---|---|
| Problema | Factorial | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.41 kb |
#include<fstream.h>
ifstream f("fact.in");
ofstream g("fact.out");
long nr,p,li,ls,m,y,z;
int main()
{f>>p;
li=1;
ls=10000000000;
{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(nr>p)
ls=m-1;
else
li=m+1;
}
if(li>ls)
g<<-1<<'\n';
else
while(m%5!=0)
m--;
}
g<<m<<'\n';
}
g.close();
f.close();
return 0;
}
