Cod sursa(job #3152621)

Utilizator deerMohanu Dominic deer Data 25 septembrie 2023 21:29:57
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <climits>
using namespace std;
int p;
int check(int val) {
    int putere_5, count;
    putere_5 = 1;
    count = 0;
    while (putere_5 < val) {
        putere_5 *= 5;
        count += val / putere_5;
    }
    return count;
}
int main() {
    ifstream cin("fact.in");
    ofstream cout("fact.out");
    int left, right, mid, ans;
    cin >> p;
    left = 1;
    right = 1000000000;
    ans = -1;
    while (left <= right) {
        mid = (left + right) / 2;
        if (check(mid) == p)
            ans = mid;
        if (check(mid) >= p)
            right = mid - 1;
        else
            left = mid + 1;
    }
    cout << ans;
}