1.3.2算法案例(秦九韶算法).ppt
1.3算法案例秦九韶算法,思考:怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?,计算多项式()=当x=5的值的算法:,算法1:,因为()=,所以(5)=55555,=3125625125255,=3906,算法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次加法运算。,共做了4次乘法运算,5次加法运算。,数书九章秦九韶算法,对该多项式按下面的方式进行改写:,思考:当知道了x的值后该如何求多项式的值?,这是怎样的一种改写方式?最后的结果是什么?,要求多项式的值,应该先算最内层的一次多项式的值,即,然后,由内到外逐层计算一次多项式的值,即,最后的一项是什么?,这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的方法,称为秦九韶算法。,思考:在求多项式的值上,这是怎样的一个转化?,通过一次式的反复计算,逐步得出高次多项式的值,对于一个n次多项式,只需做n次乘法和n次加法即可。,秦九韶算法的特点:,例:已知一个五次多项式为,用秦九韶算法求这个多项式当x=5的值。,解:,将多项式变形:,按由里到外的顺序,依此计算一次多项式当x=5时的值:,所以,当x=5时,多项式的值等于17255.2,另解:(秦九韶算法的另一种直观算法),5 2 3.5-2.6 1.7-0.8,X5,27 138.5 689.9 3451.2 17255.2,+,多项式的系数,多项式的值,25 135 692.5 3449.5 17256,0,5,思考:你能设计程序把“秦九韶算法”表示出来吗?,1、已知多项式f(x)=x5+2x4+x3-3x2+5x+1用秦九韶算法求这个多项式当x=2时的值。,练习:,2、已知多项式f(x)=2x4-x3-2x2+3x-6用秦九韶算法求这个多项式当x=2时的值。,