Cod sursa(job #2606021)

Utilizator bmc213Mihai Cosmin bmc213 Data 26 aprilie 2020 18:50:33
Problema Factorial Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iostream>
#include <fstream>
#include <climits>

std::ifstream f("fact.in");
std::ofstream g("fact.out");

long long nr_zero(long long n)
{
    long long s = 0;
    while(n)
    {
        s = s + n / 5;
        n /= 5;
    }
    return s;
}

long long nr, st, dr, n, mij, p = -1;

int main()
{
    f >> n;
    st = 1;
    dr = LONG_MAX;
    while(st <= dr)
    {
        mij = (st + dr) / 2;
        nr = nr_zero(mij);
        if(nr < n)
            st = mij + 1;
        else
        {
            if(n == nr)
                  p = mij;
            dr = mij - 1;
        }
    }
    g << p;
    return 0;
}