#多项式求值(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 # 在此修改初值 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