Cod sursa(job #687397)

Utilizator Alecu7Chiriac Alexandru Alecu7 Data 22 februarie 2012 13:06:21
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <fstream>
#include<values.h>
using namespace std;
int main()
{
	ifstream f("fact.in");
	ofstream g("fact.out");
	long long i,j,ok,m,pr,k,x,P;
	f>>P;
	if (P==0) g<<1;
	else 
	{
		i=0; j=999999999; ok=0;
		while (i<=j&&ok==0)
		{
			m=(i+j)/2;
			pr=5; k=0;
			while (pr<m)
			{
				k=k+m/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) g<<x;
		else g<<"-1";
	}
	f.close(); g.close();
	return 0;
}