描述
计算一个浮点数的立方根,不使用库函数。
保留一位小数。
数据范围:∣val∣≤20
输入描述:
待求解参数,为double类型(一个实数)
输出描述:
输出参数的立方根。保留一位小数。
使用牛顿迭代法:
公式:
求立方根:
import sys
def cubic_root_newton(c, initial_value=1.0, tolerance=1e-6, max_iterations=100):
x = initial_value #初始值
for i in range(max_iterations):
x = x - (x**3 - c) / (3 * x**2)
if abs(x**3 - c) < tolerance:
return x
return x
for line in sys.stdin:
a = line.split()
print(round(cubic_root_newton(float(a[0])),1))