Pagini recente » Cod sursa (job #2464867) | Cod sursa (job #3143060) | Cod sursa (job #67940) | Cod sursa (job #912280) | Cod sursa (job #84285)
Cod sursa(job #84285)
#include<stdio.h>
long long p;
long long zero (long m)
{
long nr = 0;
while (m >=5)
{
m /= 5;
nr += m;
}
return nr;
}
int main()
{
long long st = 0, dr = 100000000000LL, m, z, ex = 1;
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
scanf("%ld", &p);
if (p == 0)
printf("1");
else
{
while ( dr - st >= 0 && ex)
{
m = (st + dr) / 2;
z = zero(m);
if ( p == z)
printf("%lld", m/5*5), ex = 0;
else
if ( z > p)
dr = m-1;
else
st = m+1;
}
if ( ex == 1)
printf("-1\n");
}
return 0;
}