【问题描述】输入一个[0.5,2.0]之间的浮点数,用牛顿迭代法求方程2x3-4x2+3x-6=0在该数附近的根,精确到两个估算值之差小于0.0000001时停止计算.
【输入说明】假如输入1.5,则是求方程在x=1.5附近的根
【输出说明】请在一行输出计算次数及x的值,例如:
1 2.33333
2 2.06100
……
a = float(input())
x0=x1 = a
cs = 0
while abs(x1-x0)>1e-7 or cs==0:
x0=x1
f=((2*x0-4)*x0+3)*x0-6
f1=(6*x0-8)*x0+3
x1=x0-f/f1
cs+=1
print(cs, x1)
4376



被折叠的 条评论
为什么被折叠?



