yanxu_cn
2024-11-17 19:29:04
高精度……果断使用 Python。
但是这题很奇怪的点在于 Python 中直接计算
二分的实现其实和 C++ 没什么大的差别。
t=int(input())
for i in range(t):
n=int(input())
l=0;r=10**400
while l<=r:
mid=(l+r)//2 # 务必使用 //,Python 中 / 返回的是浮点数,而浮点数会爆精度。
a=mid*mid
if a==n:
print(mid)
break
elif a<n:
l=mid+1
else:
r=mid-1