Cod sursa(job #836978)

Utilizator AnamariaGGogoase Anamaria AnamariaG Data 16 decembrie 2012 22:50:27
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <iostream> 
#include<fstream> 
#include<climits> 
using namespace std; 
ifstream fin("fact.in");
ofstream fout("fact.out");
int main() 
{     
	int p,m,i=1,k,j=LONG_MAX,ok=0,x;  
	fin>>p;    
	if(p==0)
		fout<<"1"; 
    while(i<=j&&ok==0)
	{     
		m=(i+j)/2;  
		x=5;    
		k=0;    
		while(x<=m)
		{    
			k=k+m/x;
			x=x*5;
		}     
		if(k==p)ok=1; 
		else 
			if(k>p)
				j=m-1; 
			else i=m+1;
	} 

	if(ok==0)
		fout<<"-1";  
	else 
	{      
		while(m%5!=0)
			m--;   
		fout<<m;   
		} 
}