Cod sursa(job #780939)

Utilizator alex_unixPetenchea Alexandru alex_unix Data 22 august 2012 22:06:53
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#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;
}