1、秦九韶算法,算 法 案 例,第二课时,1、求两个数的最大公约数的两种方法分别是( )和( )。2、两个数21672,8127的最大公约数是 ( )A、2709 B、2606 C、2703 D、2706,复习引入:,新课讲解:,思考,怎样求多项式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 +) +
2、 )+)+) +,分析:两种算法中各用了几次乘法运算?和几次加法运算?,算法1:,算法2:,共做了1+2+3+4=10次乘法运算,5次加法运算。,共做了4次乘法运算,5次加法运算。,数书九章秦九韶算法,对该多项式按下面的方式进行改写:,思考:当知道了x的值后该如何求多项式的值?,这是怎样的一种改写方式?最后的结果是什么?,要求多项式的值,应该先算最内层的一次多项式的值,即,然后,由内到外逐层计算一次多项式的值,即,最后的一项是什么?,这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的方法,称为秦九韶算法。,思考:在求多项式的值上,这是怎样的一个转化?,通过一次式的反复计算,逐步得出
3、高次多项式的值,对于一个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
4、 135 692.5 3449.5 17256,0,5,(1)、算法步骤:,第一步:输入多项式次数n、最高次项的系数an和x的值.,第二步:将v的值初始化为an,将i的值初始化为n-1.,第三步:输入i次项的系数an.,第四步:v=vx+ai, i=i-1.,第五步:判断i是否大于或等于0,若是,则返回第三步;否则,输出多项式的值v。,思考:你能设计程序把“秦九韶算法”表示出来吗?,(2)程序框图:,(3)程序:,INPUT “n=”;nINPUT “an=“;aINPUT “x=“;xv=ai=n-1WHILE i=0 PRINT “i=“;i INPUT “ai=“;a v=v*x+a i=i-1WENDPRINT vEND,1、已知多项式f(x)=x5+5x4+10x3+10x2+5x+1用秦九韶算法求这个多项式当x=-2时的值。,练习:,2、已知多项式f(x)=2x4-6x3-5x2+4x-6用秦九韶算法求这个多项式当x=5时的值。,课堂小结:1、秦九韶算法的方法和步骤2、秦九韶算法的程序框图,作业:1、P47 22、P50 2,