Cod sursa(job #2508470)

Utilizator MateiAruxandeiMateiStefan MateiAruxandei Data 12 decembrie 2019 11:41:00
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <iostream>

using namespace std;

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

long long q;

long long test(long long val){
    long long cnt = 0, pw5 = 5;
    while(pw5 < val){
        cnt += (val / pw5);
        pw5 *= 5;
    }
    return cnt;
}

int main()
{
    cin >> q;

    long long best = -1;
    long long st = q + 1;
    long long dr = 20000000000;
    while(st <= dr){
        long long mij = (st + dr) / 2;
        long long nr = test(mij);
        if(nr == q){
            best = mij;
            dr = mij - 1;
        }
        else if(nr < q)
            st = mij + 1;
        else dr = mij - 1;
    }

    if(best == -1)
        cout << "No solution\n";
    else cout << best << '\n';
    return 0;
}