Cod sursa(job #3152498)

Utilizator deerMohanu Dominic deer Data 25 septembrie 2023 13:17:10
Problema GFact Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;
unsigned long long p, q;
bool check (__int_128 val){
    __int_128 count_p, putere_p;
    count_p = 0;
    putere_p = 1;
    while (putere_p<=val){
        putere_p *= p;
        count_p += val/putere_p;
    }
    return (count_p >= q);
}
int main(){
    ifstream cin ("gfact.in");
    ofstream cout ("gfact.out");
    unsigned long long a, left, right, mid, ans;
    cin >> p >> q;
    left=1;
    right=600000000000000;
    while (left<=right){
        mid=(left+right)/2;
        if (check(mid)){
            ans=mid;
            right=mid-1;
        }
        else
            left=mid+1;
    }
    cout<<ans;
}