Cod sursa(job #1876033)

Utilizator loghin.alexandruLoghin Alexandru loghin.alexandru Data 11 februarie 2017 21:43:19
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb

#include "stdafx.h"
#include <fstream>
#define MAX_FACT 500000000

using namespace std;


ifstream fin("fact.in");
ofstream fout("fact.out");


unsigned long long getZeros(unsigned long long n)
{
	unsigned long long power = 5;
	unsigned long long zeros=0;
	while (n / power != 0)
	{
		zeros += n / power;
		power *= 5;
	}
	return zeros;
}

int main()
{
	unsigned long long firstN = MAX_FACT, input;
	unsigned long long n = 0, start = 0, end = firstN;
	fin >> n;
	input = n * 5;
	if (n == 0)
	{
		fout << -1;
		return 0;
	}
	if (n == 1) { fout << 5; return 0; }
	if (n == 2) { fout << 10; return 0; }
	for ( long long i = input-15; i<=input*5; i += 5)
	{
		if (n == getZeros(i))
		{
			fout << i;
			return 0;
		}
	}
	fout << -1;
	return 0;
}