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

# 多项式求值(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

猜你喜欢

转载自www.cnblogs.com/aiyou-3344520/p/11706492.html