Cod sursa(job #769901)

Utilizator 5t3fristea stefan 5t3f Data 21 iulie 2012 12:02:52
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <fstream>

using namespace std;

int m, z, p, u, P;

int zero(int x) {//in cati de 0 se termina x!
	int p5 = 5;
	int s = 0;
	while (p5 <= x) {
		s += x/p5;
		p5 *= 5;
	}
	return s;
}

int main() {
	ifstream f("fact.in");
	ofstream g("fact.out");
	
	f>>P;
	
	p = 1; u = 5*P;
	while (p<=u) {
		m = (p+u)/2;
		z = zero(m);
		if (z >= P)
			u = m-1;
		else
			p = m+1;
	}
	
	if (zero(p) == P)
		g<<p;
	else
		g<<-1;
	
	return 0;
}