Cod sursa(job #2609082)

Utilizator VasAlexVasiluta Alex VasAlex Data 2 mai 2020 10:15:01
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda igorj_mentorat1 Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("fact.in");

ofstream g("fact.out");

long long p, n, mij, k = -1, val, st = 1, dr = (long long)(1 << 30) * (1 << 30);

long long evaluare5adicaFact(long long n)

{

    long long s = 0, x = 5;

    while (x <= n)

    {

        s += n / x;

        x *= 5;
    }

    return s;
}

int main()

{

    f >> p;

    while (st <= dr)

    {

        mij = (st + dr) / 2;

        val = evaluare5adicaFact(mij);

        if (val == p)

        {

            k = mij;

            dr = mij - 1;
        }
        else if (val > p)

            dr = mij - 1;

        else

            st = mij + 1;
    }

    g << k;

    return 0;
}