1 条题解

  • 0
    @ 2018-07-09 16:02:36

    #牛顿迭代公式:x=x0-f(x0)/f'(x0)

    def solution(a,b,c,d):
    x = 1.5
    x0 = 0.0
    while abs(float(x-x0))>=10**-5: #反复迭代,求近似实根
    x0 = x
    f=a*x0*x0*x0+b*x0*x0+c*x0+d
    fd=3*a*x0*x0+2*b*x0+c
    h = float(f/fd)
    x = x0-h #此处为公式 x=x0-f(x0)/f'(x0)
    print("{0:.7f}".format(x)) #保留7位小数

    def main():
    s=input().split(",") #同行连续输入,用英文逗号(",")分隔
    a = float(s[0])
    b = float(s[1])
    c = float(s[2])
    d = float(s[3])
    solution(a,b,c,d)

    main()

  • 1

信息

难度
6
分类
(无)
标签
(无)
递交数
39
已通过
11
通过率
28%
上传者