Cod sursa(job #1013771)

Utilizator Mastertrap21Danceanu Madalin Mastertrap21 Data 21 octombrie 2013 18:41:39
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 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)
{
    long long nr = start + ((end - start) / 2);
    long long 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;
    long long nr = search(1, 9223372036854775807);
    while(check(nr) == n)
    {
        nr--;
    }
    nr++;
    g<<nr;
    return 0;
}