Pagini recente » Cod sursa (job #2420743) | Cod sursa (job #1686525) | Cod sursa (job #1776263) | Cod sursa (job #362230) | Cod sursa (job #2495990)
#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()
{
long long p,ok=0,st,dr,mijloc,z1,z2;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
if(p==0) g<<1;
else {
st=1;
dr=100000000;
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;
}
}