P2293 学习笔记

省流:书接上回,还是 python

题目传送门

c++ 肯定是会挂掉了,写一个 python 的二分。

import sys
sys.set_int_max_str_digits(10086)
a = int(input())
b = int(input())
l = -1
r = 1

if a == 1:
    print(b)
else:
    while pow(r, a) <= b:
        l, r = r, r * 2
    while l < r:
        mid = (l + r + 1) // 2
        if pow(mid, a) > b:
            r = mid - 1
        else:
            l = mid
print(l)
posted @ 2026-02-12 22:56  constexpr_ll  阅读(5)  评论(0)    收藏  举报