Pagini recente » Cod sursa (job #393003) | Cod sursa (job #985705) | Cod sursa (job #1063229) | Cod sursa (job #1090564) | Cod sursa (job #2495994)
#include <iostream>
#include <fstream>
using namespace std;
int zero(int n)
{
int S=0,x=5;
if(n==0) return -1;
else{
while(n/x!=0)
{
S=S+n/x;
x=x*5;
}
return S;
}
}
int main()
{
int p,ok=0,st,mijloc,z1,z2;
long long dr;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
st=1;
dr=100000000000;
ok=0;
while(st<=dr && ok==0)
{
mijloc=(st+dr)/2;
z1=zero(mijloc);
z2=zero(mijloc-1);
if(z1==p && z2<p) ok=1;
else if(z1<p) st=mijloc+1;
else if(z1>p || z2>=p) dr=mijloc-1;
}
if(ok==1) g<<mijloc;
else g<<-1;
}