Cod sursa(job #431198)

Utilizator etherealCatalin Badea ethereal Data 31 martie 2010 19:18:48
Problema Factorial Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
using namespace std;

ifstream i_file("fact.in");
ofstream o_file("fact.out");
static int P, N=-1;

int Functie(int n)
{
	static int s;
	s = 0;
	static int p;
	p = n/5;
	while(p>0)
	{
		s = s+p;
		p=p/5;
	}
	return s;
}
void CautareBinara(int left, int right)
{
	static int median;
	static int pivot;
	if(right !=left) 
	{
	 	median = (left+right)/2;
		pivot = Functie(median);
		if(P<pivot)
		{
			CautareBinara(left, median);
		}
		else if(P==pivot)
		{
			N = median -  median%5;
		}
		else CautareBinara((left+right)/2,right);
	}
}
int main()
{
	i_file>>P;
	CautareBinara(0, 5*P);
	o_file<<N;
	return 0;
}