Cod sursa(job #1171562)

Utilizator StefanFaibla blah StefanFai Data 15 aprilie 2014 22:13:05
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <iostream>
using namespace std;

int zero(int nr) {
	int rez = 0;
	
	while ( nr > 4 ) {
		nr = nr / 5;
		rez = rez + nr;
	}
	
	return rez;
}

int binary(int a, int b, int nr) {
	if(a==b && zero(a)!=nr)
		return -1;
	if ( nr == 0 )
		return 0;
	int c = (a + b) / 2;
	int bla = zero(c);
	if ( bla == nr )
		return c;
	if ( bla > nr )
		return binary(a, c - 1, nr);
	if ( bla < c )
		return binary(c + 1, b, nr);
		
}
		
int main() {
	ifstream f("fact.in");
	int p;
	f >> p;
	f.close();
	ofstream g("fact.out");
	int rez = binary(0,400000015,p);
	while( rez>0 && zero(rez) == zero(rez-1) )
		rez--;
	g << rez;
	
	g.close();
	return 0;
}