1 / 15
文档名称:

1.3.2算法案例:秦九邵算法.ppt

格式:ppt   大小:121KB   页数:15页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

1.3.2算法案例:秦九邵算法.ppt

上传人:dllw1314 2021/8/27 文件大小:121 KB

下载得到文件列表

1.3.2算法案例:秦九邵算法.ppt

文档介绍

文档介绍:算法案例
第二课时
1
问题提出
,是求两个正整数的最大公约数的优秀算法,我们将算法转化为程序后,就可以由计算机来执行运算,实现了古代数学与现代信息技术的完美结合.
,在我国古代数学中有一个优秀算法,即秦九韶算法,我们将对这个算法作些了解和探究.
2
秦九韶算法
3
知识探究(一):秦九韶算法的基本思想
思考1:对于多项式f(x)=x5+x4+x3+x2+x+1,求f(5)的值. 若先计算各项的值,然后再相加,那么一共要做多少次乘法运算和多少次加法运算?
4+3+2+1=10次乘法运算,5次加法运算.
4
思考2:在上述问题中,先计算x2的值,然后依次计算x2·x,(x2·x)·x,((x2·x)·x)·x的值,这样每次都可以利用上一次计算的结果,再将这些数与x和1相加,那么一共做了多少次乘法运算和多少次加法运算?
4次乘法运算,5次加法运算.
5
思考3:利用后一种算法求多项式
f(x)=anxn+an-1xn-1+…+a1x+a0
的值,这个多项式应写成哪种形式?
f(x)=anxn+an-1xn-1+…+a1x+a0
=(anxn-1+an-1xn-2+…+a2x+a1)x+a0
=((anxn-2+an-1xn-3+…+a2)x+a1)x+a0
=…
=(…((anx+an-1)x+an-2)x+…+a1)x+a0.
6
思考4:对于
f(x)=(…((anx+an-1)x+ an-2)x+…+a1)x+a0,
由内向外逐层计算一次多项式的值,其算法步骤如何?
第一步,计算v1=anx+an-1.
第二步,计算v2=v1x+an-2.
第三步,计算v3=v2x+an-3.

第n步,计算vn=vn-1x+a0.
7
思考5:上述求多项式
f(x)=anxn+an-1xn-1+…+a1x+a0
的值的方法称为秦九韶算法,利用该算法求f(x0)的值,一共需要多少次乘法运算,多少次加法运算?
思考6:在秦九韶算法中,记v0=an,那么第k步的算式是什么?
vk=vk-1x+an-k (k=1,2,…,n)
8
知识探究(二):秦九韶算法的程序设计
思考1:用秦九韶算法求多项式的值,可以用什么逻辑结构来构造算法?其算法步骤如何设计?
第一步,输入多项式的次数n,最高次项的系数an和x的值.
第二步,令v=an,i=n-1.
第三步,输入i次项的系数ai.
第四步,v=vx+ai,i=i-1.
第五步,判断i≥,则返回第二步;否则,输出多项式的值v.
9
思考2:该算法的程序框图如何表示?
开始
输入n,an,x的值
v=an
v=vx+ai
输入ai
i≥0?
i=n-1
i=i-1
结束

输出v

10