Cod sursa(job #459976)

Utilizator deneoAdrian Craciun deneo Data 31 mai 2010 21:11:31
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<fstream.h>
#define MAX 100000
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)
			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, MAX, p);
	while(aux%5!=0)
		aux--;
	g<<aux;
	g.close();
	return 0;
}