Cod sursa(job #2897030)

Utilizator alexmorosanuMorosanu Alexandru alexmorosanu Data 2 mai 2022 09:56:19
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>

using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
unsigned long long p, sol, st, dr, mij, nr;
unsigned long long fact5(unsigned long long x)
{
	unsigned long long p = 5, sol = 0, lastp = 1;
	while (p <= x && p > lastp)
	{
		sol += x / p;
		lastp = p;
		p *= 5;
	}
	return sol;
}
int main()
{
	f >> p;
	sol = p + 1;
	st = 1;
	dr = 1e9;
	while (st <= dr)
	{
		mij = (st + dr) / 2;
		nr = fact5(mij);
		if (nr >= p)
		{
			sol = mij;
			dr = mij - 1;
		}
		else
			st = mij + 1;
	}
	g << sol;
	return 0;
}