Cod sursa(job #3129048)

Utilizator TeodoraMaria123Serban Teodora Maria TeodoraMaria123 Data 12 mai 2023 13:31:06
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>

using namespace std;

const int inf = 1e9;
int P;

int ok(int x)
{
    int cnt = 0, p = 5;
    while(x / p)
    {
        cnt += x / p;
        p *= 5;
    }
    return cnt;
}

int bs()
{
    int st = 1, dr = inf, med, last = -1;
    while(st <= dr)
    {
        med = (st + dr) / 2;
        if(ok(med) >= P)
        {
            dr = med - 1;
            last = med;
        }
        else
            st = med + 1;
    }
    if(ok(last) == P)
        return last;
    return -1;
}

int main()
{
    ios_base :: sync_with_stdio(0);
    cin.tie(0);

    freopen("fact.in", "r", stdin);
    freopen("fact.out", "w", stdout);

    cin >> P;
    cout << bs();
    return 0;
}