Cod sursa(job #2762597)

Utilizator PloscaruPloscaru Marian Ploscaru Data 8 iulie 2021 17:25:18
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>

using namespace std;
int p, st, dr;


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

int main() {
	fin >> p;
	st = 1;
	dr = p * 5;
	while (st <= dr) {
		int mid = (st + dr) / 2;
		int nr = mid;
		int sol = 0;
		int m = 5;
		while (nr >= m) {
			sol += nr / m;
			m *= 5;
		}
		if (sol >= p) {
			dr = mid - 1;
		}
		else {
			st = mid + 1;
		}
	}
	int nr = st;
	int sol = 0;
	int m = 5;
	while (nr >= m) {
		sol += nr / m;
		m *= 5;
	}
	if (sol == p) fout << st;
	else fout << -1;
	return 0;
}