Cod sursa(job #659525)

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

using namespace std;

ifstream in("fact.in"); 
ofstream out("fact.out");  

int nr_zer(int nr) 
{
	int y = 0, c = 5; 
	
	while(nr >= c) 
	{
		y+=nr/c;
		c*=5; 
	}
	return y; 
}
		
		
int main() 
{
	long long p, hi, lo, mij;
	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;
}