f(x)?(?(anx?an?1)x?an?2)x???a1)x?a0要求多项式的值,应该先算最内层的一次多项式的值,即然后,由内到外逐层计算一次多项式的值,即
v1?anx?an?1v2?v1x?an?2v3?v2x?an?3vn?vn?1x?a0??最后的一项是什么?这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的方法,称为秦九韶算法。
秦九韶算法的特点:
通过一次式的反复计算,逐步得出高次多项式的值,对于一个n次多项式,只需做n次乘法和n次加法即可。
算法步骤:
第一步:输入多项式次数n、最高次项的系数an和x的值.
第二步:将v的值初始化为an,将i的值初始化为n-1.第三步:输入i次项的系数ai.第四步:v=vx+ai,i=i-1.
第五步:判断i是否小于或等于0,若是,则返回第三步;否则,输出多项式的值v。
开始程序框图:
输入n,an,xV=an?v0?ani=n-1??vk?vk?1x?an?k(k?1,2,?,n)i=i-1v=vx+ai这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现。
i>=0?N输出v结束输入aiYINPUT “n=”;n
(3)程序:
INPUT “an=“;aINPUT “x=“;x
v=ai=n-1WHILE i>=0
PRINT “i=“;iINPUT “ai=“;av=v*x+ai=i-1WENDPRINT v
END小结:
(1)算法具有通用的特点,可以解决一类问题;(2)解决同一类问题,可以有不同的算法,
但计算的效率是不同的,应选择高效的算法(3)算法的种类虽多,但三种逻辑结构可以有效
的表达各种算法等。
1.3.2《算法案例 - 秦九韶算法》课件(1)(新人教A版必修3) - 图文
f(x)?(?(anx?an?1)x?an?2)x???a1)x?a0要求多项式的值,应该先算最内层的一次多项式的值,即然后,由内到外逐层计算一次多项式的值,即v1?anx?an?1v2?v1x?an?2v3?v2x?an?3vn?vn?1x?a0??最后的一项是什么?这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的方法,称为秦九韶算法。秦九韶算法的
推荐度:
点击下载文档文档为doc格式