【高中数学必修三】1.3.2秦九韶算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
vn vn1 x a0
v0 an v k v k 1 x an k ( k 1, 2, , n)
这种将求一个n次多项式f(x)的值转化成求n个 一次多项式的值的方法,称为秦九韶算法
例2 已知一个五次多项式为
f ( x ) 5 x 5 2 x 4 3.5 x 3 2.6 x 2 1.7 x 0.8
显然,采用第二种算法,计算机能够更快地得到结果。
那么,有没有更有效的算法呢?
《数书九章》——秦九韶算法 设 f ( x) 是一个n 次的一元多项式
f ( x ) an x n an1 x n1 a1 x a0
对该多项式按下面的方式进行改写
f ( x ) an x n an1 x n1 a1 x a0 (an x n1 an1 x n 2 a1 ) x a0 ((an x n 2 an1 x n 3 a2 ) x a1 ) x a0 ( (an x an1 ) x an 2 ) x a1 ) x a0
算法1:因为f(x) =x5+x4+x3+x2+x+1 所以f(5)=55+54+53+52+5+1
=3125+625+125+25+5+1
算法2: = 3906
10次的乘法运算,5次的加法运算
4次的乘法运算,5次的加法运算 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
算法一:把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
所以,x = 5时,多项式的值为17255.2
v0 an v k v k 1 x an k 练习:教材P48、 2 ( k 1, 2,后阅读教材38页,理解并能识别秦九韶 算法的程序。
课堂小结:
1、秦九韶算法的方法和步骤
2、秦九韶算法的流程图及程序
用秦九韶算法求这个多项式当x = 5的值. 解: 按由里到外的顺序,依此计算一次多项式当x = 5时的值:
v2 27 5 3.5 138.5 v0 5 v1 5 5 2 27 v4 689.9 5 1.7 3451.2 v3 138.5 5 2.6 689.9 v5 3451.2 5 0.8 17255.2
=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的值
所以f(5)=55+54+53+52+5+1 =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
省略了若干 个半括号 省略了若干项
f ( x ) ( (an x an1 ) x an 2 ) x a1 ) x a0
要求多项式的值,应该先算最内层的一次多项式的值,即
v1 an x an1
然后,由内到外逐层计算一次多项式的值,即
v2 v1 x an 2 v 3 v 2 x an 3
1.3.2 案例2、秦九韶算法
复习
1、求两个数的最大公约数的两种方法分别是( 和( ).
)
辗转相除法
更相减损术 A
) D、2706
2、两个数21672,8127的最大公约数是( A、2709 B、2606 C、2703
案例2、秦九韶算法
秦九韶算法是求一元多项式的值的一种方法。
怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?
v0 an v k v k 1 x an k ( k 1, 2, , n)
这种将求一个n次多项式f(x)的值转化成求n个 一次多项式的值的方法,称为秦九韶算法
例2 已知一个五次多项式为
f ( x ) 5 x 5 2 x 4 3.5 x 3 2.6 x 2 1.7 x 0.8
显然,采用第二种算法,计算机能够更快地得到结果。
那么,有没有更有效的算法呢?
《数书九章》——秦九韶算法 设 f ( x) 是一个n 次的一元多项式
f ( x ) an x n an1 x n1 a1 x a0
对该多项式按下面的方式进行改写
f ( x ) an x n an1 x n1 a1 x a0 (an x n1 an1 x n 2 a1 ) x a0 ((an x n 2 an1 x n 3 a2 ) x a1 ) x a0 ( (an x an1 ) x an 2 ) x a1 ) x a0
算法1:因为f(x) =x5+x4+x3+x2+x+1 所以f(5)=55+54+53+52+5+1
=3125+625+125+25+5+1
算法2: = 3906
10次的乘法运算,5次的加法运算
4次的乘法运算,5次的加法运算 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
算法一:把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
所以,x = 5时,多项式的值为17255.2
v0 an v k v k 1 x an k 练习:教材P48、 2 ( k 1, 2,后阅读教材38页,理解并能识别秦九韶 算法的程序。
课堂小结:
1、秦九韶算法的方法和步骤
2、秦九韶算法的流程图及程序
用秦九韶算法求这个多项式当x = 5的值. 解: 按由里到外的顺序,依此计算一次多项式当x = 5时的值:
v2 27 5 3.5 138.5 v0 5 v1 5 5 2 27 v4 689.9 5 1.7 3451.2 v3 138.5 5 2.6 689.9 v5 3451.2 5 0.8 17255.2
=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的值
所以f(5)=55+54+53+52+5+1 =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
省略了若干 个半括号 省略了若干项
f ( x ) ( (an x an1 ) x an 2 ) x a1 ) x a0
要求多项式的值,应该先算最内层的一次多项式的值,即
v1 an x an1
然后,由内到外逐层计算一次多项式的值,即
v2 v1 x an 2 v 3 v 2 x an 3
1.3.2 案例2、秦九韶算法
复习
1、求两个数的最大公约数的两种方法分别是( 和( ).
)
辗转相除法
更相减损术 A
) D、2706
2、两个数21672,8127的最大公约数是( A、2709 B、2606 C、2703
案例2、秦九韶算法
秦九韶算法是求一元多项式的值的一种方法。
怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?