Cod sursa(job #2842881)

Utilizator Serigu25Petris Sergiu Serigu25 Data 1 februarie 2022 17:47:24
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <iostream>
using namespace std;
int f(int x)
{
	int nr = 0, pwr = 5;
	while (x >= pwr)
	{
		nr += x / pwr;
		pwr *= 5;
	}
	return nr;
}
int main()
{
	ifstream k("fact.in");
	ofstream g("fact.out");
	int p;
	k >> p;
	int st = 1;
	int dr = 2000000;
	int m = 0, n = -1;
	while (st <= dr)
	{
		m = (st + dr) / 2;
		if (f(m) == p) {
			n = m;
			dr = m - 1;

		}
		else if (f(m) < p) {

			st = m + 1;

		}
		else dr = m - 1;
	}
	g << n;
}