题目
给定一个浮点数 n,求它的三次方根。
输入格式
共一行,包含一个浮点数 n。
输出格式
共一行,包含一个浮点数,表示问题的解。
注意,结果保留 6 位小数。
数据范围
−10000≤n≤10000
输入样例:
1000.00
输出样例:
10.000000
思路
- 有单调性一定可以二分,能二分不一定具有单调性
- 分界条件:if mid*mid*mid>=x,R=mid;else L=mid;
- 在 Python 中,没有明确的"double"数据类型。Python 中的浮点数类型是 f1oat。它可以表示小数点后任意位数的数字,并且具有双精度浮点数的精度。
参考
Python保留指定位数的小数_python 取5位小数-CSDN博客
代码
n=float(input())
l=-10000
r=10000
while(r-l>1e-8):
mid=(r+l)/2;
if mid*mid*mid>=n:
r=mid
else :
l=mid
print('%.6f'% r)