Pagini recente » Cod sursa (job #1000791) | Cod sursa (job #2318637) | Cod sursa (job #879905) | Cod sursa (job #1209875) | Cod sursa (job #780939)
Cod sursa(job #780939)
#include <cstdio>
inline unsigned long long zeros (unsigned long long x)
{
unsigned long long result(0);
while (x >= 5)
result += x /= 5;
return result;
}
int main (void)
{
std::freopen("fact.in","r",stdin);
std::freopen("fact.out","w",stdout);
unsigned long long n;
std::scanf("%llu",&n);
std::fclose(stdin);
unsigned long long left(0), right(5 * n), middle;
while (left < right)
{
middle = (left + right) >> 1;
if (n > zeros(middle))
left = middle + 1;
else
right = middle;
}
if (zeros(left) == n)
std::printf("%llu",left);
else
std::printf("-1");
std::putchar('\n');
std::fclose(stdout);
return 0;
}