Cod sursa(job #2451731)

Utilizator davidcotigacotiga david davidcotiga Data 27 august 2019 23:40:34
Problema Factorial Scor 65
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
#include <iostream>

using namespace std;

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

unsigned long int factorial(unsigned long p) {
	unsigned long nrz = 0;
	while (p >= 5) {
		nrz += p / 5;
		p /= 5;
	}
	return nrz;
}

int main() {
	unsigned long p;
	fin >> p;
	unsigned long long int b = 184467440737095516; //
	unsigned long long int a = 0;
	unsigned long long int mid; // maybe wrtong;
	while (b >= a) {
		mid = (a + b) / 2;
		if (p > factorial(mid)) {
			a = mid + 1;
		}
		else {
			b = mid - 1;
		}
	}
	fout << mid;

	return 0;
}