Cod sursa(job #2970329)

Utilizator andrei.nita271@gmail.comAndrei Nita [email protected] Data 24 ianuarie 2023 21:46:04
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
long long fv[6];
void fact(int a) {
	for (int i = 2; i <= a; i++) {
		int aux = i;
		while (aux % 2 == 0) {
			aux = aux / 2;
			fv[2]++;
		}
		while (aux % 5 == 0) {
			aux = aux / 5;
			fv[5]++;
		}
	}
}
void caut_bin(int x) {
	int st = 1, dr = 99999998, rez = -1;
	while (st <= dr) {
		long long m = (st + dr) / 2;
		fact(m);
		int cnt = fv[5];
		if (cnt < x) {
			st = m + 1;
		}
			else if (cnt == x) {
				rez = m;
				dr = m - 1;
			}
			else {
				dr = m - 1;
			}
		fv[5] = 0;
		fv[2] = 0;
		}
	out << rez;
}

int main() {
	int x;
	in >> x;
	caut_bin(x);
}