Pagini recente » Cod sursa (job #2109860) | Cod sursa (job #1523616) | Cod sursa (job #1239350) | Cod sursa (job #3156487) | Cod sursa (job #780945)
Cod sursa(job #780945)
#include <cstdio>
inline unsigned int zeros (unsigned int x)
{
unsigned int result(0);
unsigned int pow(5);
while (x >= pow)
{
result += x / pow;
pow *= 5;
}
return result;
}
int main (void)
{
std::freopen("fact.in","r",stdin);
std::freopen("fact.out","w",stdout);
unsigned int n;
std::scanf("%u",&n);
std::fclose(stdin);
unsigned int 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("%u",left);
else
std::printf("-1");
std::putchar('\n');
std::fclose(stdout);
return 0;
}