Cod sursa(job #771365)
Utilizator | Andreea Gabriela gabriela95 | Data | 25 iulie 2012 19:11:17 |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.41 kb |
#include<fstream>
using namespace std;
int zero(int x)
{
int putere=1;
int z=0;
while(x>=putere)
{
putere=putere*5;
z=z+x/putere;
}
return z;
}
ifstream f("fact.in");
ofstream g("fact.out");
int i,p,st,dr,m;
int main()
{
f>>p;st=1;dr=5*p;
while(st<=dr)
{
m=(st+dr)/2;
if(p<=zero(m))
dr=m-1;
else
st=m+1;
}
if(zero(st)==p)
g<<st;
else g<<"-1";
return 0;
}