Cod sursa(job #948825)

Utilizator SRaduRadu Szasz SRadu Data 11 mai 2013 17:59:57
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>

using namespace std;

int N;

void citire() {
	ifstream in("fact.in");
	in>>N;
	in.close();
}

inline int getZero(int val) {
	int X = 5, ans = 0;
	for(; X <= val; X *= 5)
		ans += val / X;
	return ans;
}

int solve() {
	int L = 1, R = 1000000000, M, X, ans = -1;
	while(L <= R) {
		M = (L + R) >> 1;
		X = getZero(M);
		if(X >= N) {
			if(X == N) ans = M;
			R = M - 1;
		} else {			
			L = M + 1;
		}
	} return ans;
}

void afisare(int X) {
	ofstream out("fact.out");
	out<<X<<"\n";
	out.close();
}

int main() {
	citire();
	afisare(solve());
}