Cod sursa(job #1968328)

Utilizator Alexandru05Giurgea Alexandru Alexandru05 Data 17 aprilie 2017 17:05:52
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
#include <climits>

using namespace std;

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

int fLegendre(int p,int n)
{
	int exp=0,pow=p;
	while(n>=pow)
	{
		exp+=n/pow;
		pow*=p;
	}
	return exp;
}

int main()
{
	int capmare=1000000000,mij,capmic=0,p;
	fin>>p;
	while(capmare>1+capmic)
	{
		mij=(capmare+capmic)/2;
		int nr0mij=fLegendre(5,mij);
		if(nr0mij<p)
		{
			capmic=mij;
		}
		else
		{
			capmare=mij;
		}
	}
	if(fLegendre(5,capmare)==p)
		fout<<capmare;
	else
	{
		fout<<-1;
	}
	return 0;
}