《秦九韶算法案例.ppt》由会员分享,可在线阅读,更多相关《秦九韶算法案例.ppt(11页珍藏版)》请在三一文库上搜索。
1、算 法 案 例- 秦 九 韶 算 法,怎样求多项式f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值呢?,问 题,计算多项式() =当x = 5的值,算法1:,因为() =,所以(5)=55555,= 3906,此算法中用了几次乘法运算?几次加法运算?,思 考,计算多项式() =当x = 5的值,算法2:,(5)=55555,=5(5555 ) ,=5(5(555 ) ) ,=5(5(5(5+5 +) + ) + ) +,=5(5(5(5 (5 +) + )+)+) +,此算法中用了几次乘法运算?几次加法运算?,思 考,算法1:,算法2:,共做了1+2+3+4=10次乘法运算,5
2、次加法运算。,共做了4次乘法运算,5次加法运算。,数书九章秦九韶算法,对该多项式按下面的方式进行改写:,这是怎样的一种改写方式?最后的结果是什么?,思 考,当知道x的值后,如何求多项式的值?,最后的一项是什么?,这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的方法,称为秦九韶算法。此算法共用了n次乘法运算,n次加法运算。,思 考,此过程将多项式的求值做了怎样的转化,用了多少下次乘法运算,多少次加法运算?,算法步骤:,第一步:输入多项式次数n、最高次项的系数an和x的值.,第二步:将v的值初始化为an,将i的值初始化为1.,第三步:输入i次项的系数an-i.,第四步:v=vx+an-i,i=i+1.,第五步:判断i是否小于或等于n,若是,则返回第三步;否则,输出多项式的值v。,程序框图:,这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现。,程 序:,INPUT n=; nINPUT an=; aINPUT x=; xv=ai=n-1WHILE i=0 PTINT i=; i INPUT ai=; a v=v*x+a i=i-1WENDPRINT vEND,程序演示,练 习,已知多项式f(x)=x5+5x4+10 x3+10 x2+5x+1用秦九韶算法求这个多项式当x=-2时的值。,说明:可动手计算其值,再通过程序来计算。,