Pagini recente » Cod sursa (job #90661) | Cod sursa (job #1605525) | Cod sursa (job #2982152) | Cod sursa (job #22363) | Cod sursa (job #3152498)
#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;
}