Cod sursa(job #2970292)

Utilizator NiffSniffCojocaru Calin Marcu NiffSniff Data 24 ianuarie 2023 20:51:03
Problema Factorial Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
using namespace std;
string file = "fact";
ifstream fin(file + ".in");
ofstream fout(file + ".out");
int f5[14];

void f()
{
	f5[0] = 1;
	for (int i = 1; i < 14; i++)
	{
		f5[i] = 5 * f5[i - 1];
	}
}

int nrzero(int x)
{
	int cnt(0);
	for (int i = 1; x / f5[i]; i++)
	{
		cnt += x / f5[i];
	}
	return cnt;
}
int main()
{
	int n;
	fin >> n;
	f();
	int st(1), dr(1e8);
	while (st <= dr)
	{
		int mid = (st + dr) / 2;
		if (nrzero(mid) >= n)
		{
			dr = mid - 1;
			
		}
		else
		{
			st = mid + 1;
		}
	}
	fout << (nrzero(dr+1) == n ? dr+1 : -1);
}