Cod sursa(job #2653760)

Utilizator cyg_dawidDavid Ghiberdic cyg_dawid Data 29 septembrie 2020 00:16:06
Problema Factorial Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#define ll long long

using namespace std;

ifstream cin("fact.in");
ofstream cout("fact.out");

int NMAX = 1e8+1;
int n;
int st, dr, med;
ll cnt;
ll ans;

void zer() {
    cnt = 0;

    ll aux = 5;
    for(; aux <= med; aux *= 5)
        cnt += med / aux;
}


int bs() {
    st = 1; dr = NMAX;
    while(st <= dr) {
        med = (st + dr) / 2;
        zer();
        if(cnt == n) {
            ans = med;
            dr = med - 1;
        } else if(cnt > n)
            dr = med - 1;
        else
            st = med + 1;
    }
    return ans;
}

int main()
{
    cin >> n;
    cout << bs();
    return 0;
}