Cod sursa(job #2831104)

Utilizator danielavornicDaniela Vornic danielavornic Data 10 ianuarie 2022 20:43:08
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("fact.in");
ofstream fout("fact.out");
long p, ans = -1;

int calc(int x) {
    int j = 5, sum = 0;
    while (j <= x) {
        sum += x / j;
        j = j * 5;
    }
    return sum;
}

int main() {
    fin >> p;
    int l = 1, r = 500000000;
    while (l <= r) {
        int mid = (l + r) / 2;
        int x = calc(mid);
        if (x >= p) {
            r = mid - 1;
            if (x == p) ans = mid;
        } else l = mid + 1;
    }

    fout << ans;

    fin.close();
    fout.close();
    return 0;
}