Cod sursa(job #2524296)

Utilizator lucamLuca Mazilescu lucam Data 15 ianuarie 2020 12:53:08
Problema Factorial Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <cstdio>
#include <algorithm>

auto nr0(int x) -> int {
    int nr = 0;
    while (x >= 5)
        nr += (x /= 5);
    return nr;
}

auto main() -> int {
    freopen("fact.in", "r", stdin);
    freopen("fact.out", "w", stdout);
    int p;
    scanf("%d", &p);
    int st = 1, dr = 5e8, m, rez = 0;
    while (st < dr) {
        m = (st + dr) / 2;
        if (nr0(m) == p) {
            rez = m;
            break;
        }
        if (nr0(m) >= p)
            dr = m;
        else
            st = m + 1;
    }
    if (!rez)
        rez = st;
    printf("%d\n", rez);
    return 0;
}