Cod sursa(job #2866478)

Utilizator GargantuanRoOprea Rares GargantuanRo Data 9 martie 2022 18:56:03
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>

using namespace std;

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

long long k;
bool solve( long long n )
{
    long long p = 5, nz = 0;
    while(p <= n)
    {
        nz += n / p;
        p *= 5;
    }
    if (nz >= k)
        return 1;
    return 0;
    ///Legendre
}

int main()
{
    long long  st = 1, dr = 1e18, ans = -1;
    cin >> k;
    while(st <= dr)
    {
        long long mij = st + (dr - st) / 2;
        if( solve(mij) == 1)
        {
            ans = mij;
            dr = mij - 1;
        }
        else
            st = mij + 1;
    }
    cout << ans;
    return 0;
}