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