Cod sursa(job #1308519)

Utilizator TiberiuDTiberiu Danciu TiberiuD Data 4 ianuarie 2015 12:22:00
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>

using namespace std;

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

int f(int a)
{
	int s = 0, x = 5;
	while(x <= a) {
		s += a / x;
		x *= 5;
	}
	return s;
}
   
int main()
{
	int st=0, x, mij, dr = 1000000000, p, n = -1;
	in >> p;
	
	if(p==0) {
		out << 1;
		return 0;
	}
	
	while(st <= dr) {
		mij=(st+dr)/2;
		if(f(mij) > p)
			dr = mij - 1;
		
		if(f(mij)<p)
			st = mij + 1;
		
		if(f(mij) == p) {
			n = mij;
			dr = mij - 1;
		}
	}
	
	out << n;
	return 0;
}