- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.3算法案例解析
* * * * * * * 求18与30的最大公约数是多少? 先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来即为最大公约数. 18 2 9 30 15 3 5 3 求8251与6105的最大公约数 知识回顾 1、辗转相除法(欧几里得算法) 求8251与6105这两个数的最大公约数? 8251与6105的最大公约数是37 8251=6105×1+2146 2146=1813×1+333 1813=333×5+148 333=148×2+37 148=37×4+0 6105=2146×2+1813 所谓辗转相除法,就是对于给定的两个数,用较大的数除以较小的数。若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数。 把辗转相除法编成一个计算机程序. 开始 输入m,n 求m除以n的余数r m=n n=r r=0? 是 输出m 结束 否 INPUT m,n DO r=m MOD n m=n n=r LOOP UNTIL r=0 PRINT m END “更相减损术”在中国古代数学专著《九章算术》中记述为:可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约之. 第一步:任意给定两个正整数;判断他们是否都是偶数。若是,则用2约简;若不是则执行第二步。 第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。继续这个操作,直到所得的减数和差相等为止,则这个等数就是所求的最大公约数。 翻译为现代语言如下: 2、更相减损术 例1: 用更相减损术求98与63的最大公约数. 98-63=35 63-35=28 35-28=7 28-7=21 21-7=14 14-7=7 所以,98和63的最大公约数等于7。 解:由于63不是偶数,把98和63以大数减小 数,并辗转相减, 1、都是求最大公约数的方法 2、二者都可用循环结构来实现 联系 1、以减法为主 2、两个整数差值较大时运算次数较多 3、相减两数相等得到结果 1、以除法为主 2、两个整数差值较大时运算次数较少 3、相除余数为0时得到结果 区别 更相减损术 辗转相除法 名称 辗转相除法与更相减损术的区别和联系 3、秦九韶算法 思考1:对于多项式f(x)=x5+x4+x3+x2+x+1,求f(5)的值。 解:f(x)=((((4x+2)x+3.5)x-2.6)x+1.7)x-0.8. v1=4×5+2=22; v2=22×5+3.5=113.5; v3=113.5×5-2.6=564.9; v4=564.9×5+1.7=2826.2; v5=2826.2×5-0.8=14130.2. 所以f(5)= 14130.2. 例1、已知一个5次多项式为 用秦九韶算法求f(5)的值. 南宋时期数学家秦九韶在他的著作《数书九章》中提出的算法. 把一个n次多项式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 对于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 这样求n次多项式f(x)的值就转化为求n个一次多项式的值。上述方法称为秦九韶算法. 秦九韶算法 第一步,输入多项式的次数n,最高次项的系数an和x的值. 第二步,令v=an,i=n-1. 第三步,输入i次项的系数ai. 第四步,v=vx+ai,i=i-1. 第五步,判断i≥0是否成立.若是,则返回第三步;否则,输出多项式的值v. 开始 输入n、an、x的值 v=an v=vx+ai 输入ai i≥0? i=n-1 i=i-1 结束 是 输出v 否 INPUT “n=”;n INPUT “an=”;a INPUT “x=”;x v=a i=n-1 WHILE i=0 INPUT “ai=”;a v=v*x+a i=i-1 WEND PRINT v END PRINT “i=”;i 进位制是为了计数和运算
您可能关注的文档
- 1.2富有活力的经济制度(两课时)解析.ppt
- 1.2美术设计的常用软件解析.ppt
- 1.3 诱导公式习题课解析.doc
- 1.2融入新集体0905解析.ppt
- 1.2细胞的多样性和统一性课件解析.ppt
- 1.3 融入新集体 教学设计 教案解析.docx
- 1.3 第三讲 光纤传输线理论的重要概念解析.ppt
- 1.3 选择网络的拓扑结构解析.ppt
- 1.3.1 认识自己课件解析.ppt
- 1.2探究结构解析.ppt
- 地理信息科学_第三次农业普查影像数字化项目.pdf
- 土地利用变化分析实验.docx
- 2025年中考语文二轮复习备考:小说阅读理解提高练(含答案).docx
- 2025年黑龙江省哈尔滨市中考一模英语试题2(含答案).docx
- 2024-2025学年高一(下)期中语文试卷(含解析).docx
- 贵州省毕节市金沙县第四中学2024-2025学年春季学期第一次月考考试试卷七年级语文(含答案).docx
- 2025年人教版九年级中考英语语法专题练习 特殊句型(含答案).docx
- 2025年湖北省襄阳市襄州区中考二模语文试题(含答案).docx
- 贵州省安顺市2025届高三下学期4月适应性考试语文试题(含答案).docx
- 湖北省仙桃市田家炳实验高级中学2024-2025学年高一下学期4月期中考试语文试题(含答案).docx
文档评论(0)