Cod sursa(job #2137012)

Utilizator AndreiBadescuBadescu Andrei-Octavian AndreiBadescu Data 20 februarie 2018 15:24:44
Problema Factorial Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>

using namespace std;

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

int n;

int nrZero ( int x )
{
	int s = 0, p = 5;

	while ( p <= x )
	{
		s += x / p;
		p *= 5;
	}

	return s;
}

int binSearch ( int n )
{
	int t, pp, mij, st = 0, dr = 100000000;

	while ( st <= dr )
	{
		mij = (st + dr) / 2;
		t = nrZero(mij);

		if ( t >= n )
			dr = mij - 1, pp = mij;
		else
			st = mij + 1;
	}

	return pp;
}

int main()
{
	fin >> n;

	if ( n == 0 )
		fout << 1;
	else
	{
		int t = binSearch (n);
		fout << t;
	}
}