Cod sursa(job #3036818)

Utilizator Mihai_OctMihai Octavian Mihai_Oct Data 25 martie 2023 10:15:59
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("fact.in");
ofstream fout("fact.out");
int p, st, dr, m, z, r = 1e8 + 2;

static inline int zero(int nr) {
    int nm = 0;
    while(nr >= 5) {
        nr /= 5;
        nm += nr;
    }
    return nm;
}

int main() {
    fin >> p;
    if(p == 0) {
        fout << "1";
        return 0;
    }
    st = 1;
    dr = p * 5;
    while(st <= dr) {
        m = st + (dr - st) / 2;
        if(zero(m) < p) st = m + 1;
        else dr = m - 1, r = m;
    }
    if(zero(r) == p) fout << st;
    else fout << "-1";

    return 0;
}