Cod sursa(job #3152501)

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

using namespace std;
unsigned long long p, q;
bool check (unsigned long long val){
    unsigned long long 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;
}