当前位置:
文档之家› 高中数学必修三132秦九韶算法
高中数学必修三132秦九韶算法
显然,采用第二种算法,计算机能够更快地得到结果。
那么,有没有更有效的算法呢?
《数书九章》——秦九韶算法
设 f (x) 是一个n 次的一元多项式
f ( x) an xn an1 xn1 a1 x a0
对该多项式按下面的方式进行改写
f ( x) an xn an1 xn1 a1 x a0
例2 已知一个五次多项式为
f ( x) 5x5 2x4 3.5x3 2.6x2 1.7x 0.8
用秦九韶算法求这个多项式当x = 5的值.
解: 按由里到外的顺序,依此计算一次多项式当x = 5时的值:
v0 5 v1 5 5 2 27 v3 138.5 5 2.6 689.9
=5x5x5x5x5+5x5x5x5+5x5x5+5x5+5+1 =3125+625+125+25+5+1
= 3906
算法二:先计算x2的值,然后依次计算
x2·x、( x2·x)·x、( ( x2·x)·x)·x 的值
计算多项式f(x) =x5+x4+x3+x2+x+1当x = 5的值
算法2:
f(5)=55+54+53+52+5+1
v2 27 5 3.5 138.5 v4 689.9 5 1.7 3451.2
v5 3451.2 5 0.8 17255.2
所以,x = 5时,多项式的值为17255.2
练习:教材P48、 2
vv0k
an vk1 x
ank
(k 1, 2, , n)
课后必做作业:
请同学们课后阅读教材38页,理解并能识别秦九韶 算法的程序。
课堂小结:
1、秦九韶算法的方法和步骤 2、秦九韶算法的流程图及程序
算法1:因为f(x) =x5+x4+x3+x2+x+1
所以f(5)=55+54+53+52+5+1
=3125+625+125+25+5+1
= 3906 10次的乘法运算,5次的加法运算
算法2:
f(5)=55+54+53+52+5+14次的乘法运算,5次的加法运算
=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
=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
计算多项式f(x) =x5+x4+x3+x2+x+1当x = 5的值
1.3.2 案例2、秦九韶算法
复习
1、求两个数的最大公约数的两种方法分别是( )和
( ).
辗转相除法 更相减损术
2、两个数21672,8127的最大公约数是(A )
A、2709 B、2606 C、2703 D算法是求一元多项式的值的一种方法。
怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?
(an xn1 an1 xn2 ((an xn2 an1 xn3
a1 )x a0 a2 )x a1 )x a0
( (an x an1 )x an2 )x a1 )x a0
省略了若干 个半括号
省略了若干项
f ( x) ( (an x an1 )x an2 )x a1 )x a0
要求多项式的值,应该先算最内层的一次多项式的值,即
v1 an x an1
然后,由内到外逐层计算一次多项式的值,即
v2 v1 x an2
v3 v2 x an3
vn vn1 x a0
vv0k
an vk1 x
ank
(k 1, 2, , n)
这种将求一个n次多项式f(x)的值转化成求n个一 次多项式的值的方法,称为秦九韶算法
算法一:把5代入,计算各项的值,然后把它们加起来。 算法二:先计算x2的值,然后依次计算x2·x、 ( x2·x)·x、( ( x2·x)·x)·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