二分法求函数的零点
类型:流程控制
描述
现有方程:, 已知f(x)在[1.5,2.4]区间单调下降,且在该区间f(x)==0有且只有一个根,用二分法求解该根。
输入格式
输入一个正整数n,当f(x)值小于时认为函数值为0
输出格式
输出方程在[1.5,2.4]区间的根,精确到小数点后第6位
示例
输入:9
输出:1.849016
参考代码
def f(x):
return x ** 5 - 15 * x ** 4 + 85 * x ** 3 - 225 * x ** 2 + 274 * x - 121
def bisection_method(low, high):
while True:
mid = (low + high) / 2
if abs(f(mid)) < 1 * 10 ** -n:
return '{:.6f}'.format(mid)
elif f(mid) < 0:
high = mid
else:
low = mid
if __name__ == '__main__':
n = int(input())
Low, High = 1.5, 2.4
print(bisection_method(Low, High))