算法案例(二)秦九韶算法

算法案例(二)秦九韶算法

ID:5452669

大小:253.50 KB

页数:15页

时间:2017-11-12

算法案例(二)秦九韶算法_第1页
算法案例(二)秦九韶算法_第2页
算法案例(二)秦九韶算法_第3页
算法案例(二)秦九韶算法_第4页
算法案例(二)秦九韶算法_第5页
资源描述:

《算法案例(二)秦九韶算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、学习目标:1、了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。2、模仿秦九韶计算方法,体会古人计算构思的巧妙。算法案例二-----秦九韶算法1、求两个数的最大公约数的两种方法分别是()和()。2、两个数21672,8127的最大公约数是()A、2709B、2606C、2703D、2706知识回顾[问题1]设计求多项式f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值的算法,并写出程序.x=5f=2*x^5-5*x^4-4*x^3+3*x^2-6*x+7PRINTfEND程序点评

2、:上述算法一共做了15次乘法运算,5次加法运算.优点是简单,易懂;缺点是不通用,不能解决任意多项多求值问题,而且计算效率不高.知识探究阅读教材37页—39页内容,解决下列问题:这析计算上述多项式的值,一共需要9次乘法运算,5次加法运算.[问题2]有没有更高效的算法?分析:计算x的幂时,可以利用前面的计算结果,以减少计算量,即先计算x2,然后依次计算的值.第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率.而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长得多,因此第二种做法能更快地得到结果.[问题

3、3]能否探索更好的算法,来解决任意多项式的求值问题?f(x)=2x5-5x4-4x3+3x2-6x+7=(2x4-5x3-4x2+3x-6)x+7=((2x3-5x2-4x+3)x-6)x+7=(((2x2-5x-4)x+3)x-6)x+7=((((2x-5)x-4)x+3)x-6)x+7v0=2v1=v0x-5=2×5-5=5v2=v1x-4=5×5-4=21v3=v2x+3=21×5+3=108v4=v3x-6=108×5-6=534v5=v4x+7=534×5+7=2677所以,当x=5时,多项式的值是2677.这种求

4、多项式值的方法就叫秦九韶算法.例1:用秦九韶算法求多项式f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值.解法一:首先将原多项式改写成如下形式:f(x)=((((2x-5)x-4)x+3)x-6)x+7v0=2v1=v0x-5=2×5-5=5v2=v1x-4=5×5-4=21v3=v2x+3=21×5+3=108v4=v3x-6=108×5-6=534v5=v4x+7=534×5+7=2677所以,当x=5时,多项式的值是2677.然后由内向外逐层计算一次多项式的值,即2-5-43-67x=510525211

5、0510854053426702677所以,当x=5时,多项式的值是2677.原多项式的系数多项式的值.例1:用秦九韶算法求多项式f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值.解法二:列表22-50-43-60x=5105252512512160560830403034所以,当x=5时,多项式的值是15170.练一练:用秦九韶算法求多项式f(x)=2x6-5x5-4x3+3x2-6x当x=5时的值.解:原多项式先化为:f(x)=2x6-5x5+0×x4-4x3+3x2-6x+0列表21517015170注

6、意:n次多项式有n+1项,因此缺少哪一项应将其系数补0.f(x)=anxn+an-1xn-1+an-2xn-2+……+a1x+a0.我们可以改写成如下形式:f(x)=(…(anx+an-1)x+an-2)x+…+a1)x+a0.求多项式的值时,首先计算最内层括号内一次多项式的值,即v1=anx+an-1,然后由内向外逐层计算一次多项式的值,即一般地,对于一个n次多项式v2=v1x+an-2,v3=v2x+an-3,……,vn=vn-1x+a0.这样,求n次多项式f(x)的值就转化为求n个一次多项式的值.这种算法称为秦九韶算法

7、.点评:秦九韶算法是求一元多项式的值的一种方法.它的特点是:把求一个n次多项式的值转化为求n个一次多项式的值,通过这种转化,把运算的次数由至多n(n+1)/2次乘法运算和n次加法运算,减少为n次乘法运算和n次加法运算,大大提高了运算效率.v1=anx+an-1,v2=v1x+an-2,v3=v2x+an-3,……,vn=vn-1x+a0.观察上述秦九韶算法中的n个一次式,可见vk的计算要用到vk-1的值.若令v0=an,得v0=an,vK=vK-1x+an-k(k=1,2,……,n这是一个在秦九韶算法中反复执行的步骤,因此可

8、用循环结构来实现.[问题]画出程序框图,表示用秦九韶算法求5次多项式f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0当x=x0(x0是任意实数)时的值的过程,然后写出程序.否程序框图开始输入a0,a1,a2,a3,a4,a5输入x0n≤5?n=1v=a5v=vx0+a5-nn

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。