Cod sursa(job #1219060)

Utilizator pulseOvidiu Giorgi pulse Data 13 august 2014 12:27:46
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <cstdio>

using namespace std;

int P;

int Solve(int n)
{
	int ans = 0, x = 1;
	while (x <= n)
	{
		x *= 5;
		ans += n / x;
	}
	return ans;
}

int BS(int l, int r)
{
	if (l == r)
	{
		if (Solve(r) == P)
			return r;
		else
			return -1;
	}
	int m = (l + r) / 2;
	if (Solve(m) >= P)
		BS(l, m);
	else
		BS(m + 1, r);
}

int main()
{
	freopen("fact.in", "r", stdin);
	freopen("fact.out", "w", stdout);
	scanf("%d", &P);
	printf("%d\n", BS(1, 2000000000));
	return 0;
}