Cod sursa(job #781127)

Utilizator Oancea.CatalinOancea Catalin Oancea.Catalin Data 23 august 2012 14:41:41
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<fstream>
using namespace std;
#define IN "fact.in"
#define OUT "fact.out"
fstream f(IN, ios::in), g(OUT, ios::out);
long long p, s, d, m;
const unsigned long long MaxN=18446744073709551615;
inline long long zero(long long x)
{
	long long zeros=0;
	long long k=5;
	while(x>=k)
	{
		zeros+=x/k;
		k*=5;
	}
	return zeros;
}
int main()
{
	f>>p;
	s=0; d=MaxN; m=0;
	
	while(s<d)
	{
		m=(s+d)>>1;
		if(p<=zero(m))
			d=m;
		else
			s=m+1;
	}
	if(zero(s)==p)
	{
		if(s==0)
			g<<"1\n";
		else
			g<<s<<"\n";
	}
	else
		g<<"-1\n";
	return 0;
}