Cod sursa(job #2620812)

Utilizator CharmichlesAndrei Brihac Charmichles Data 29 mai 2020 18:20:19
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

ifstream fin("fact.in");
ofstream fout("fact.out");

long long nrZero(long long val) {
    long long nr = 0, p = 5;
    while (p <= val) {
        nr += val / p;
        p *= 5;
    }
    return nr;
}

long long cautareBinara(long long val) {
    if (val == 0) {
        return 1;
    }
    if (val == 1) {
        return 5;
    }
    long long stg = 0, dr = 5 * val, sol;
    while (stg < dr) {
        long long mij = (stg + dr) / 2;
        if (nrZero(mij) < val) {
            stg = mij + 1;
        }
        else {
            sol = mij;
            dr = mij - 1;
        }
    }
    return sol;
}

long long main() {
    long long p;
    fin >> p;
    fout << cautareBinara(p);
    fin.close();
    fout.close();
    return 0;
}