Cod sursa(job #2542787)

Utilizator baTTLe4u_15Nita Iulian baTTLe4u_15 Data 10 februarie 2020 16:32:49
Problema Factorial Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>

using namespace std;

int nZero(int n)
{
    int nr=0,p=5;
 
    while(p<=n)
    {
        nr+=n/p;
        p*=5;
    }
 
    return nr;
}

ifstream f("fact.in");
ofstream g("fact.out");

int p;

int solve(int left, int right)
{
	if(left >= right)
		return -1;

	int mid = (left+right)/2;
	
	int rez = nZero(mid);
	if(rez == p)
		return mid;

	if(rez > p)
		solve(left, mid-1);
	else
		solve(mid+1, right);
}

int main()
{
	f >> p;	
	int rez = solve(1, 2000000000);

	if(rez == -1)
		g<< -1;
		
	else
	{
		while(nZero(--rez) == p);
		g << rez+1;
	}
}