Cod sursa(job #1013805)

Utilizator Mastertrap21Danceanu Madalin Mastertrap21 Data 21 octombrie 2013 19:13:14
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream>
using namespace std;
int n;
 
ifstream f("fact.in");
ofstream g("fact.out");
 
int check(int nr)
{
    int fives = 0;
    int c = 5;
    while(c <= nr)
    {
        fives += nr/c;
        c = c * 5;
    }
    return fives;
}
 
int search(int start, int end)
{
	if(end < start) return -1;
    int nr = (start + end) / 2;
    int fives = check(nr);
    if(fives == n && nr%5 == 0) return nr;
    return (fives > n) ? search(start, nr-1) : search(nr+1, end);
}
 
int main()
{
    f>>n;
	if(n == 0)
	{
		g<<1;
	}
	else if(n == 1)
	{
		g<<5;
	}
	else
	{
		int nr = search(1, 2147483647);
		g<<nr;
	}
	return 0;
}