Cod sursa(job #2501414)

Utilizator sebimihMihalache Sebastian sebimih Data 29 noiembrie 2019 18:04:25
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("fact.in");
ofstream fout("fact.out");

int NrZero(int n)
{
	int ZeroCurent = 0;
	while (n != 0)
	{
		n /= 5;
		ZeroCurent += n;
	}

	return ZeroCurent;
}

int bs(int NrZeroCautat)
{
	int sol = 0;
	int pas = 1 << 30;

	while (pas > 0)
	{
		if (NrZero(sol + pas) <= NrZeroCautat)
		{
			sol += pas;
		}
		pas /= 2;
	}

	return sol;
}

int main()
{
	int n;
	fin >> n;

	int NrCautat = bs(n - 1);
	NrCautat++;

	if (NrZero(NrCautat) == n)
		fout << NrCautat;
	else
		fout << -1;

	return 0;
}