Cod sursa(job #2842893)

Utilizator Serigu25Petris Sergiu Serigu25 Data 1 februarie 2022 18:02:16
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <iostream>
#include <fstream>

using namespace std;



int zerouri(int n) {

	int nr = 0;
	int pwr = 5;
	while (n >= pwr) {
		nr += n / pwr;

		pwr *= 5;
	}
	return nr;
}



int main(void) {

	ofstream g("fact.out");

	ifstream f("fact.in");

	int p;
	f >> p;
	int st = 1;
	int dr = 10e8;
	int mij = 0;
	int n = -1;
	while (st <= dr) {
		mij = (st + dr) / 2;
		int zr = zerouri(mij);
		if (zr == p) {
			n = mij;
			dr = mij - 1;
		}
		else if (zr < p) {
			st = mij + 1;
		}
		else {
			dr = mij - 1;
		}
	}
	g << n;
}