Pagini recente » Cod sursa (job #2030157) | Cod sursa (job #1141199) | Cod sursa (job #2324241) | Cod sursa (job #2804112) | Cod sursa (job #1977552)
#include <bits/stdc++.h>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
unsigned long p,st,dr=ULONG_MAX,m,nrz,nr;
unsigned long zero(unsigned long x)
{
nr=0;
while(x)
nr+=(x/5),x/=5;
return nr;
}
long long caut_binar()
{
while(st<=dr)
{
m=(st+dr)/2;
nrz=zero(m);
if(nrz==p)
return m/5*5;
else
if(nrz>p)
dr=m-1;
else
st=m+1;
}
return -1;
}
int main()
{
f>>p;
if(p==0)
g<<1;
else
g<<caut_binar();
return 0;
}