Cod sursa(job #459979)

Utilizator deneoAdrian Craciun deneo Data 31 mai 2010 21:21:05
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<fstream.h>
long getP(long long n)
{
	long sum=0, put=5;
	while(n/put>=1)
	{
		sum+=n/put;
		put*=5;
	}
	return sum;
}
long cauta(long long a, long long  b, long p)
{
	long long m=(a+b)/2, aux;
	if((aux=getP(m))==p)
		return m;
	else
		if(aux>p)
			if(getP(m-1)<p)
				return -1;
			else
				return cauta(a, m, p);
		else
			return cauta(m+1, b, p);
	return 0;
}

int main()
{
	long p;
	long long aux;
	ifstream f("fact.in");
	ofstream g("fact.out");
	f>>p;
	aux=cauta(1, 1000000000, p);
	g<<aux;
	g.close();
	return 0;
}