Cod sursa(job #821479)

Utilizator axnsanCristi Vijdea axnsan Data 22 noiembrie 2012 14:45:54
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
//#include <iostream>
//#include <ctime>
#define cout g
using namespace std;
inline int zfact(int n)
{
	int nrz(0);
	while (n != 0)
	{
		n /= 5;
		nrz = nrz + n;
	}
	return nrz;
}
int main()
{
	
	int P, MIN(1), MAX(800000029), n, N = -1, beg, end;
	//beg = clock();
	ifstream f("fact.in");
	ofstream g("fact.out");
	f >> P;
	if (P == 0)
	{
		cout << 1 << endl;
		return 0;
	}
	while (MIN <= MAX)
	{
		n = (MIN+MAX)/2;
		int nrz = zfact(n);
		if (nrz == P)
		{
			N = (n/5)*5;
			break;
		}
		if (nrz > P) MAX = n-1;
		else MIN = n+1;
	}
	//end = clock();
	cout << N << endl;
	//cout << (end-beg)*1.0/CLOCKS_PER_SEC;
	//cin.get();
}