多项式求值(Evaluation of a Polynomial)

本文介绍了一种高效计算多项式值的方法——霍纳方法(或秦九韶方法),该方法通过嵌套乘法减少了计算次数。文章详细解释了霍纳方法的原理,并给出了C语言实现代码。

一、问题描述

  设 n n n阶多项式 P n ( x ) P_n(x) Pn(x)有以下形式:
P n ( x ) = a n x n + a n − 1 x n − 1 + . . . + a 2 x 2 + a 1 x + a 0 (1) P_n(x)=a_nx^n+a_{n-1}x^{n-1}+...+a_2x^2+a_1x+a_0\tag 1 Pn(x)=anxn+an1xn1+...+a2x2+a1x+a0(1)
  秦九韶方法(1247年提出)或霍纳方法(Horner’s method),是计算多项式值的一种有效算法,其本质上是一种嵌套乘法。例如可以将5次多项式写成嵌套乘法形式:
P 5 ( x ) = ( ( ( ( a 5 x + a 4 ) x + a 3 ) x + a 2 ) x + a 1 ) x + a 0 (2) P_5(x)=((((a_5x+a_4)x+a_3)x+a_2)x+a_1)x+a_0\tag 2 P5(x)=((((a5x+a4)x+a3)x+a2)x+a1)x+a0(2)
  采用此方法, n n n次多项式求值只需要 n n n次乘法和 n n n次加法运算,而直接采用式 ( 1 ) (1) (1)计算,则需要 n ( n + 1 ) 2 \frac{n(n+1)}{2} 2

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值