Cod sursa(job #3219531)

Utilizator ChireaDragosAndreiChirea Dragos Andrei ChireaDragosAndrei Data 31 martie 2024 16:40:31
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;

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

int nr_de_factori_de_5(int x) {
	int pow5 = 5, nr5=0;
	while (pow5 <= x) {
		nr5 += x / pow5;
	    pow5 *= 5;
	}
	return nr5;
}
int main()
{
	int p;
	in >> p;
	int st = 1, dr=5e8;
	if (p == 0) {
		out << 1;
		return 0;
	}
	while (st <= dr) {
		int mijl = (dr + st) / 2;
		if (nr_de_factori_de_5(mijl) < p) {
			st = mijl + 1;
		}
		else {
			dr = mijl-1;
		}
	}
	if (nr_de_factori_de_5(st) == p)out << st;
	else out << -1;
	return 0;
}