Cod sursa(job #2227641)

Utilizator BaldurCronos Baldur Data 1 august 2018 12:05:36
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
typedef long long ll;

ll zeroes(int x) {
        ll res = 0;
        int p = 5;

        while (x / p != 0) {
                res += x / p;
                p *= 5;
        }

        return res;
}

int search_num(int p) {
        int l = 0, r = (int)1e8, m, p2;

        while (l < r) {
                m = (l + r) / 2;
                p2 = zeroes(m);

                if (p2 < p) {
                        l = m + 1;
                } else if (p2 >= p) {
                        r = m - 1;
                }
        }

        return l;
}

int main() {
        int n, ans;
        in >> n;
        ans = search_num(n);
        if (zeroes(ans) != n)
                ans++;
        if (!ans)
                ans++;
        out << ans;
        return 0;
}