Cod sursa(job #1013787)

Utilizator Mastertrap21Danceanu Madalin Mastertrap21 Data 21 octombrie 2013 19:06:33
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
using namespace std;
int n;
 
ifstream f("fact.in");
ofstream g("fact.out");
 
long long check(int nr)
{
    long long fives = nr / 5;
    long long c = 5;
    while(c * 5 <= nr)
    {
        fives++;
        c = c * 5;
    }
    return fives;
}
 
long long search(long long start, long long end)
{
	if(end < start) return -1;
    long long nr = (start + end) / 2;
    long long 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
	{
		long long nr = search(1, 9223372036854775806);
		g<<nr;
	}
	return 0;
}