Pagini recente » Cod sursa (job #1187284) | Cod sursa (job #1735897) | Cod sursa (job #265743) | Cod sursa (job #1289804) | Cod sursa (job #2653764)
#include <fstream>
#define ll long long
#define NMAX 2000000005
using namespace std;
ifstream fin("gfact.in");
ofstream fout("gfact.out");
ll p, q;
ll b;
ll st, dr, med;
ll ans;
ll cnt;
ll aux;
bool ok() {
cnt = 0;
for(aux = p; aux <= med; aux *= p)
cnt += med / aux;
}
ll bs() {
ans = -1;
st = 1; dr = NMAX;
while(st <= dr) {
med = (dr - st) / 2 + st;
ok();
if(cnt >= q) {
dr = med - 1;
ans = dr;
} else
st = med + 1;
}
return ans + 1;
}
int main()
{
cnt = 0;
fin >> p >> q;
fout << bs();
return 0;
}