Cod sursa(job #659537)

Utilizator informatician28Andrei Dinu informatician28 Data 10 ianuarie 2012 18:37:40
Problema Factorial Scor 100
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) 
{
	unsigned int y = 0, c = 5; 
	
	while(nr>=c) 
	{
		y+=nr/c;
		c*=5; 
	}
	return y; 
}
		
		
int main() 
{
	in >> p; 
	
	//caut binara: 
	
	lo = 1, hi = 5*p; while(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;
}