Cod sursa(job #1471110)

Utilizator AlexandraaaaMereu Alexandra Alexandraaaa Data 13 august 2015 02:53:02
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <iostream>
#include <fstream>

using namespace std;

int nrz(int x) {
	int s = 0;
	while (x) {
		s += x / 5;
		x /= 5;
	}
	return s;
}

int main(){
	ifstream f("fact.in");
	ofstream g("fact.out");

	int p, lo, hi, mid, t;
	f >> p;
	if (p == 0)
		g << "1";
	else {
		lo = 0;
		hi = 1000000000;

		while (hi - lo > 1) {
			mid = (lo + hi) / 2;
			t = nrz(mid);
			if (t < p){
				lo = mid;
			}
			else
				hi = mid;
		}

		if (nrz(hi) == p)
			g << hi;
		else
			g << "-1";
	}

	f.close();
	g.close();
	return 0;
}