高次方程求根
类型:流程控制
描述
有函数
已知f(1.5)>0,f(2.4)<0,且在[1.5,2.4]区间只且只有一个根,求该根(假定多项式值小于10-6时可近似为0)。
要求四舍五入到小数点后6位
输入格式
无
输出格式
该方程在[1.5,2.4]区间的根
示例
输出:x.xxxxxx
参考代码
def f(x):
# 这个函数用来计算这个多项式
return x ** 5 - 15 * x ** 4 + 85 * x ** 3 - 225 * x ** 2 + 274 * x - 121
x1, x2 = 1.5, 2.4
while abs(f((x1 + x2) / 2)) > 1e-6:
# 二分法,如果大于0调整下界,反之调整上界
if f((x1 + x2) / 2) > 0:
x1 = (x1 + x2) / 2
else:
x2 = (x1 + x2) / 2
print("{:.6f}".format((x1 + x2) / 2))