题目描述
给定一个浮点数n,求它的三次方根。
输入格式
共一行,包含一个浮点数n。
输出格式
共一行,包含一个浮点数,表示问题的解。
注意,结果保留6位小数。
数据范围
−10000≤n≤10000
输入样例
1000.00
输出样例
10.000000
解法一:直接算
n = float(input())
def cal(n):
if n <= 0:
return -(abs(n)**(1/3))
else:
return n**(1/3)
print("{:.6f}".format(cal(n)))
解法二:二分
n = float(input())
l,r = -10000,10000
while r-l > 1e-8 :
mid = (l+r)/2
if mid**3 > n: r = mid
else: l = mid
print("{:.6f}".format(l))