Cod sursa(job #2944190)

Utilizator Daniel_TTudor Daniel Andrei Daniel_T Data 22 noiembrie 2022 10:13:38
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("fact.in");
ofstream fout("fact.out");

long long int P;

long long int factorial(int n)
{
    long long int j = 1;

    for(int i = 1; i <= n; i++)
    {
        j *= i;
    }

    return j;
}

long long legendre(int k, long long n)
{
    long long p, numitor;
    p = 0;
    numitor = k;

    while(n >= numitor)
    {
        p += n / numitor;
        numitor *= k;
    }

    return p;
}

int bs(int st, long long int dr)
{
    long long int med, last = -1;

    while(st <= dr)
    {
        med = st + (dr - st) / 2;

        cout << legendre(5, med) << "\n";

        if(legendre(5, med) >= P)
        {
            last = med;
            dr = med - 1;
        }
        else
            st = med + 1;
    }
}

int main()
{

    int ans;

    fin >> P;

    long long lin = 1ll << 62;

    ans = bs(1, lin);

    fout << ans;




    fin.close();
    fout.close();
    return 0;
}