Cod sursa(job #1558533)

Utilizator daniel.sanduSandu Daniel daniel.sandu Data 29 decembrie 2015 12:52:02
Problema Factorial Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <cstdio>

int getFiveFactors(int x) {
	int count = 0;
	for ( ; x % 5 == 0; ++count, x /= 5)
		continue;
	return count;
}

int factorial(int p) {	
	int fiveMultipler = 0, fiveFactorCount = 0;
	while (fiveFactorCount < p) {
		++fiveMultipler;
		fiveFactorCount += getFiveFactors(fiveMultipler) + 1;
	}
	if (fiveFactorCount == p)
		return fiveMultipler * 5;
	return -1;
}

int main() {
	char const * const inputFile = "fact.in",
						 * const outputFile = "fact.out";
	std::ifstream in(inputFile);
	std::ofstream out(outputFile);

	int p = 0;
	while (in >> p)
		out << factorial(p) << std::endl;

	return 0;
}