题解 | #求解立方根# 二分法
求解立方根
https://www.nowcoder.com/practice/caf35ae421194a1090c22fe223357dca
n=float(input()) #print(round(n**(1/3),1)) # 二分法 # 不分类讨论时,当n为负数/小于1的小数/较多小数位的正数,运行超时 -0.07 65.69878 if n>=1: start=1 end=n elif 0<n<1: start=n end=1 elif -1<=n<0: start=-1 end=n elif n<-1: start=n end=-1 mid=(start+end)/2 while abs(mid**3-n)>0.00000001: # 必须加绝对值,当mid**3-n为负数时,跳出while循环直接输出错误答案。 if mid**3>n: end=mid if mid**3<n: start=mid mid=(start+end)/2 print(round(mid,1))