v3=v2x+an-3,
...
vn=vn-1x+a0,
这样,求n次多项式f(x)的值就转化为求n个一次多项式的值.上述方法称为秦九韶算法.
【例1】 解:根据秦九韶算法,把f(x)改写为f(x)=((((4x+2)x+3.5)x-2.6)x+1.7)x-0.8.
按照从内到外的顺序,依次计算一次多项式当x=5时的值:
v0=4;
v1=4×5+2=22;
v2=22×5+3.5=113.5;
v3=113.5×5-2.6=564.9;
v4=564.9×5+1.7=2 826.2;
v5=2 826.2×5-0.8=14 130.2.
所以,当x=5时,多项式的值等于14 130.2.
思考:需要5次乘法,5次加法.
三、运用规律,解决问题
解:f(x)=((((((7x+6)x+5)x+4)x+3)x+2)x+1)x,所以有
v0=7;
v1=7×3+6=27;
v2=27×3+5=86;
v3=86×3+4=262;
v4=262×3+3=789;
v5=789×3+2=2 369;
v6=2 369×3+1=7 108;
v7=7 108×3=21 324.
故当x=3时,多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x的值为21 324.
四、变式训练,深化提高
【例2】 解:程序框图如下:
INPUT "n=";n
INPUT "an=";a
INPUT "x=";x
v=a