Cod sursa(job #2988767)

Utilizator game_difficultyCalin Crangus game_difficulty Data 5 martie 2023 14:26:21
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>

using namespace std;

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

long long cif0(long long n) {
	long long ans = 0;
	long long p5 = 5;
	for (int i = 1; i <= 26; i++) {
		ans += n / p5;
		p5 *= 5;
	}
	return ans;
}

int main() {
	int n;
	cin >> n;
	/*for (int i = 1; i <= 100; i++) {
		cout << cif0(i) << '\n';
	}*/
	if (n == 0) {
		cout << 1;
		return 0;
	}
	long long pos = 1;
	for (long long pas = 1ll << 62; pas > 0; pas >>= 1) {
		if (cif0(pos + pas) < n) {
			pos += pas;
		}
	}
	pos++;
	if (cif0(pos) == n) {
		cout << pos;
	}
	else cout << -1;
	return 0;
}