Cod sursa(job #141350)

Utilizator nimeniaPaul Grigoras nimenia Data 23 februarie 2008 01:17:30
Problema Factorial Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<fstream.h>
#include<math.h>
ifstream f("fact.in");
ofstream g("fact.out");
long double p,n;
long long zero(long long n)
{long long z=0;
 while(n!=0) {z+=n/5; n=n/5;}
 return z;
}
int main()
{f>>p;
 long long z,a=0,b=1000000015,c;
if(p==0) g<<1;
else{
 while(a!=b)
	{c=(a+b)/2;
	 z=zero(c);
	 if(z<p) a=c+1;
	 else if(z>p) b=c;
		  else a=b=c;
	}

 if(zero(a)==p)
	{while(a/5!=floor(a/5)) a--;
	 g<<a;}
 else g<<-1;
}

 return 0;
}