Cod sursa(job #2510005)

Utilizator mafiotxrobeert mafiotx Data 15 decembrie 2019 16:16:12
Problema Factorial Scor 55
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
using namespace std;

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


int zerouri(int numar)
{
	int sum = 0;
	while (numar)
	{
		sum += numar / 5;
		numar /= 5;
	}
	return sum;
}
int cautare_binara(int val)
{
	int left = 0, right = 100000000, solutie = -1;
	while (left <= right)
	{
		int mid = (left + right) / 2;

		if (zerouri(mid) == val)
		{
			solutie = mid;
			break;
		}
		if (zerouri(mid) > val)
			right = mid - 1;
		if (zerouri(mid) < val)
			left = mid + 1;
	}
	return solutie;
}

int main()
{
	int zero,val;
	fin >> zero;
	val = cautare_binara(zero);
	if (val != -1)
		fout << val - val % 5;
	else
		fout << -1;
}