Cod sursa(job #659531)

Utilizator informatician28Andrei Dinu informatician28 Data 10 ianuarie 2012 18:34:32
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include<fstream> 

using namespace std;

ifstream in("fact.in"); 
ofstream out("fact.out");  
int hi, lo, mij, p;

int nr_zer(int nr) 
{
	int y = 0, c = 5; 
	
	while(nr >= c) 
	{
		y+=nr/c;
		c*=5; 
	}
	return y; 
}
		
		
int main() 
{
	in >> p; 
	
	//caut binara: 
	
	for(lo = 0, hi = 5*p; lo <= hi; ) 
	{
		mij = lo + (hi - lo)/2; 
		if(nr_zer(mij) < p) 
			lo = mij+1; 
		
		else hi = mij-1; 
	}
	if(nr_zer(lo) != p)
	out << -1; 
	else out << lo;
}