当前位置 : 主页 > 编程语言 > python >

多项式求值问题(horner规则)——Python实现

来源:互联网 收集:自由互联 发布时间:2021-06-25
#多项式求值(Horner规则) #输入:A[a0,a1,a2...an],x的值 #输出:给定的x下多项式的值p #Horner迭代形式实现 1 # 在此修改初值 2 A = [2, 6, 15, -5, 34 ] 3 x = 2 4 # 主程序 5 p = A[-1] # 将索引指定为
# 多项式求值(Horner规则) # 输入:A[a0,a1,a2...an],x的值 # 输出:给定的x下多项式的值p   # Horner迭代形式实现
1 # 在此修改初值
2 A = [2, 6, 15, -5, 34]
3 x = 2
4 # 主程序
5 p = A[-1]       # 将索引指定为 -1 ,可让 Python 返回最后一个列表元素
6 for i in range(1,len(A)):
7     p = p*x + A[-1-i]
8 print(迭代法,该多项式的值为:,p)

 

# Horner递归形式实现
# 在此修改初值
A = [2, 6, 15, -5, 34]
x = 2
# 主程序
p = A[-1]
i = 1
def horner(A,x,p,i):
    p = p*x + A[-1-i]
    if i < len(A)-1:
        horner(A,x,p,i+1)
    else:
        print(递归法,该多项式的值为: ,p)
# 函数调用
horner(A,x,p,i)

 

运行结果:

迭代法,该多项式的值为: 578
递归法,该多项式的值为:  578
网友评论