Pagini recente » Cod sursa (job #209146) | Cod sursa (job #207048) | Cod sursa (job #820813) | Cod sursa (job #1185249) | Cod sursa (job #202952)
Cod sursa(job #202952)
#include <stdio.h>
#define infinity 1000000000LL
long long P, i, ret, l, r, ans, n, x;
void read()
{
freopen("fact.in", "r", stdin);
scanf("%lld", &P);
}
long long calc(long long n)
{
for (i = 5, ret = 0; i <= n; i *= 5)
ret += n/i;
return ret;
}
void bin()
{
if (P) for (l = 1, r = infinity, ans = -1; l <= r; )
{
n = (l+r)/2;
x = calc(n);
if (x == P)
{
ans = n;
r = n-1;
}
else if (x > P)
r = n-1;
else
l = n+1;
}
else ans = 1;
}
void write()
{
freopen("fact.out", "w", stdout);
printf("%lld\n", ans);
}
int main()
{
read();
bin();
write();
return 0;
}