Cod sursa(job #360509)

Utilizator tudgal1001Profir Tudor tudgal1001 Data 31 octombrie 2009 18:54:15
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<fstream>
#include<math.h>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");

long long zero(long long x)
{
	long long z = 0;
	
	while (x > 0)
	{
		z += (x / 5);
		x = (x / 5);
	}
	return z;
}

int main ()
{
	long long rez,p,st,dr,m,z;
	rez = -1;
	
	f>>p;
	st=1; dr=((long long)1<<60);
	while (st<=dr)
	{
		m=(st+dr)/2;
		z = zero(m);
		if (z > p)
			dr = m-1;
		else if (z < p)
			st = m+1;
		else if (z == p)
			rez = m, dr = m - 1;
	}	

	g<<rez;
	return 0;		
}