《算法案例-秦九韶算法》怎样求多项式f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值呢?计算多项式f(x)=x5+x4+x3+x2+x+1当x=5的值算法1:因为f(x)=x5+x4+x3+x2+x+1所以f(5)=55+54+53+52+5+1=3906此算法中用了几次乘法运算?几次加法运算?此算法中用了几次乘法运算?几次加法运算?计算多项式f(x)=x5+x4+x3+x2+x+1当x=5的值算法2:f(5)=55+54+53+52+5+1=5×(54+53+52+5+1)+1=5×(5×(53+52+5+1)+1)+1=5×(5×(5×(52+5+1)+1)+1)+1=5×(5×(5×(5×(5+1)+1)+1)+1)+1此算法中用了几次乘法运算?几次加法运算?此算法中用了几次乘法运算?几次加法运算?算法1:因为f(x)=x5+x4+x3+x2+x+1所以f(5)=55+54+53+52+5+1=3125+625+125+25+5+1=3906算法2:f(5)=55+54+53+52+5+1=5×(54+53+52+5+1)+1=5×(5×(53+52+5+1)+1)+1=5×(5×(5×(52+5+1)+1)+1)+1=5×(5×(5×(5×(5+1)+1)+1)+1)+1共做了1+2+3+4=10次乘法运算,5次加法运算。共做了4次乘法运算,5次加法运算。《数书九章》——秦九韶算法0111)(axaxaxaxfnnnn设)(xf是一个n次的多项式对该多项式按下面的方式进行改写:0111)(axaxaxaxfnnnn01211)(axaxaxannnn012312))((axaxaxaxannnn0121)))((axaxaxaxannn这是怎样的一种改写方式?最后的结果是什么?当知道x的值后,如何求多项式的值?当知道x的值后,如何求多项式的值?0121)))(()(axaxaxaxaxfnnn11nnaxav212naxvv323naxvv01axvvnn最后的一项是什么?这种将求一个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。程序框图:这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现。输入an-i开始输入n,an,xi<=n?输出v结束v=vx+an-ii=i+1YNi=1V=an),,,(nkaxvvavknkkn2110程序:INPUT"n=";nINPUT"an=";aINPUT"x=";xv=ai=n-1WHILEi>=0PTINT"i=";iINPUT"ai=";av=v*x+ai=i-1WENDPRINTvENDINPUT"n=";nINPUT"an=";aINPUT"x=";xv=ai=n-1WHILEi>=0PTINT"i=";iINPUT"ai=";av=v*x+ai=i-1WENDPRINTvEND程序演示程序演示已知多项式f(x)=x5+5x4+10x3+10x2+5x+1用秦九韶算法求这个多项式当x=-2时的值。已知多项式f(x)=x5+5x4+10x3+10x2+5x+1用秦九韶算法求这个多项式当x=-2时的值。说明:可动手计算其值,再通过程序来计算。说明:可动手计算其值,再通过程序来计算。说明:可动手计算其值,再通过程序来计算。说明:可动手计算其值,再通过程序来计算。