Cod sursa(job #2794168)

Utilizator dragutamihai1234Draguta Mihai dragutamihai1234 Data 4 noiembrie 2021 13:51:14
Problema GFact Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>
using namespace std;

long long p,q;

long long legendre(long long n)
{
    long long val=p,nr=0;
    while(n/val>0)
    {
        nr+=(n/val);
        val*=p;
    }
    return nr;
}

long long cautbin()
{
    long long p=1,u=60000000000000,sol=0;
    while(p<=u)
    {
        long long m=(p+u)/2;
        if(legendre(m)<q)
            p=m+1;
        else
        {
            u=m-1;
            sol=m;
        }
    }
    return sol;
}

int main()
{
    ifstream cin("gfact.in");
    ofstream cout("gfact.out");
    cin>>p>>q;
    cout<<cautbin();
    return 0;
}