Cod sursa(job #1013637)

Utilizator andrei8055Andrei andrei8055 Data 21 octombrie 2013 14:33:17
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<fstream>
#include<limits>
using namespace std;
int n;

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

int check(int nr)
{
	int fives = nr / 5;
	int c = 5;
	while(c * 5 <= nr)
	{
		fives++;
		c = c * 5;
	}
	return fives;
}

int search(int start,int end)
{
	int nr = start + ((end - start) / 2);
	int fives = check(nr);
	if(fives == n) return nr;
	if(start == end) return -1;
	return (fives > n) ? search(start, nr-1) : search(nr+1, end);
}

int main()
{
	f>>n;
	int nr = search(1, INT_MAX);
	while(check(nr) == n)
	{
		nr--;
	}
	nr++;
	g<<nr;
	return 0;
}