Cod sursa(job #492770)

Utilizator raduspowertinca radu raduspower Data 15 octombrie 2010 21:12:59
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <fstream>
using namespace std;

ifstream in("fact.in");
ofstream out("fact.out");

long long fact(long long n)
{
	long long cont=0;
	while (n)
	{
		n/=5;
		cont+=n;
	}
	return cont;
}

long long bs(long long p)
{
	long long i,step=(long long)1<<40;
	for (i=0;step;step>>=1)
		if (fact(i+step)<p)
			i+=step;
	i++;
	if (fact(i)==p)
		return i;
	return -1;
}

int main()
{
	long long p;
	in>>p;
	out<<bs(p)<<"\n";
	return 0;
}