📜  门| GATE-CS-2006 |问题 1

📅  最后修改于: 2021-09-24 05:18:48             🧑  作者: Mango

考虑多项式 p(x) = a0 + a1x + a2x 2 + a3x 3 ,其中 ai ≠ 0 ∀i。在输入 x 上计算 p 所需的最小乘法次数是:
(一) 3
(乙) 4
(三) 6
(四) 9答案:(一)
解释:
背景说明:
霍纳多项式除法规则是一种算法,用于通过将多项式划分为多项式(一阶多项式)来简化在某个值 x = x0 处评估多项式 f(x) 的过程。每个单项式最多涉及一个乘法和一个加法过程。从一个单项式获得的结果以累加的方式添加到从下一个单项式获得的结果中,依此类推。为了解释上述内容,让我们以扩展形式重写多项式;

f(x0) = a0 + a1x0+ a2x0^2+ … + anx0^n

这也可以写成:

f(x0) = a0 + x0(a1+ x0(a2+ x0(a3+ … + (an-1 + anx0)….)

该规则提出的算法基于评估上面形成的单项式
从最里面的括号中移出以评估外面的单项式
插入语。

解决方案 :
使用霍纳法则,我们可以写出多项式如下
a0 + (a1 + (a2 + a3x)x)x

在上面的形式中,我们只需要做3次乘法

p = a3 X x    ------------ (1)

q = (a2 + p) X x  ---------(2)

r = (a1 + q) X x  ---------(3)

result = a0 + r 

参考 :
https://www.geeksforgeeks.org/horners-method-polynomial-evaluation/
该解决方案由Nitika Bansal 提供。
这个问题的测验