Cod sursa(job #687374)

Utilizator iuliaotilia26Mustea Iulia-Otilia iuliaotilia26 Data 22 februarie 2012 12:52:20
Problema Factorial Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<fstream>
#include<math.h>
using namespace std;
int main()
{
	long long i,p,ok,j,m,pr,k,x,MAX;
	ifstream fin("fact.in");
	ofstream fout("fact.out");
	fin>>p;
	MAX=pow(10,8);
	if(p==0)fout<<1;
	else 
	{
		i=0;j=MAX;ok=0;
		while(i<=j&&ok==0)
		{
			m=(i+j)/2;
			pr=5;k=0;
			while(pr<m)
			{
				k=k+m/pr;
				pr=pr*5;
			}
		if(k==p)
		{
			x=m-m%5;
			ok=1;
		}
		else if(k<p)i=m+1;
		     else j=m-1;
	}}
		if(ok==1)fout<<x;
		else fout<<"-1";
		fin.close();
		fout.close();
		return 0;
}