Cod sursa(job #306934)

Utilizator pcinfoCarmen Popescu pcinfo Data 22 aprilie 2009 14:05:05
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>

using namespace std;

ifstream f("fact.in");
ofstream g("fact.out");

using namespace std;

int nrz(int n)  // nr. de zerouri din n!
{
	int s=0;
	while (n>0)
	{
		s=s+n/5;
		n=n/5;
	}
	return s;
}

int calc(int p)
{
	int a=0, b=400000025L,m, n;
	
	while (a<=b)
	{
		m=(a+b)/2;
		n=nrz(m);
		if (p==n) {
			while (nrz(m-1)==p)
				m--;
			return m;
		}
		if (p>n)
			a=m+1;
		else
			b=m-1;
	}
	return -1;
}

int main()
{	int p;
	f>>p;
	
	if (p==0)
		g<<1;
	else
		g<<calc(p);
	
	f.close();
	g.close();
	return 0;
}