求两个正整数最大公约数的算法讲解.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
求两个正整数 最大公约数的算法 学习目标: (1)了解中国古代数学中求两个正整数最大公约数的算法 以及割圆术的算法; (2)通过对“更相减损之术”及“割圆术”的学习,更好 的理解将要解决的问题“算法化”的思维方法,并注意理解推 导“割圆术”的操作步骤。 ( 3 )学会借助实例分析,探究数学问题。 人们在长期的生活,生产和劳动过程中,创 造了整数,分数,小数,正负数及其计算,以及 无限逼近任一实数的方法,在代数学,几何学方 面,我国在宋,元之前也都处于世界的前列。我 们在小学,中学学到的算术,代数,从记数到多 元一次联立方程的求根方法,都是我国古代数学 家最先创造的。更为重要的是我国古代数学的发 展有着自己鲜明的特色,也就是“寓理于算”, 即把解决的问题“算法化”。本章的内容是算法, 特别是在中国古代也有着很多算法案例,我们来 看一下并且进一步体会“算法”的概念。 求最大公约数 你能求出 18 与 30 的公约数吗 ? 你能看出 78 与 36 的公约数吗 ? ? 更相减损之术(指导阅读课本 P 27 ----P 28 ) 步骤: 以两数中较大的数减去较小的数,即78-36=4 2;以差数42和较小的数 3 6构成新的一对数,对这一 对数再用大数减去小数,即42-36=6 , 再以差数6 和较小的数36构成新的一对数,对这一对数再用大数减 去小数,即36-6=30 , 继续这一过程 , 直到产生一对 相等的数,这个数就是最大公约数 ) 36 , 6 ( ) 36 , 42 ( ) 36 , 78 ( ? ? ) 6 , 30 ( ? ) 6 , 24 ( ? ) 6 , 6 ( ) 6 , 12 ( ) 6 , 18 ( ? ? ? 即, r b a r b a ? ? ? ? ? b a , r b , 由 ,得 与 有相同的公约数 理论依据: 算法: 1 S ) ( , b a b a ? 输入两个正数 2 S b a ? 3 S 5 S 如果 , 则执行 , 否则转到 3 S b a ? r 将 的值赋予 4 S r b ? b a r b r a 2 S 若 , 则把 赋予 , 把 赋予 , 否则把 赋予 , 重新执行 5 S b 输出最大公约数 程序 : a=input(“a=”) b=input(“b=”) while a<>b if a>=b a=a-b; else b=b-a ; end end print(%io(2),a,b) ? 我国早期也有解决求最大公约数问题的算法,就是 更相减损术。 更相减损术求最大公约数 ? 可半者半之,不可半者,副置分母分子之数, 以少减多,更相减损,求其等也,以等数约 之。 ? 翻译出来为: ? 第一步:任意给出两个正数;判断它们是否都是偶数。 若是,用 2 约简;若不是,执行第二步。 ? 第二步:以较大的数减去较小的数,接着把较小的数与 所得的差比较,并以大数减小数。继续这个操作,直到 所得的数相等为止,则这个数(等数)就是所求的最大 公约数。 ? 例 1 用更相减损术求 91 与 49 的最大公约数 . 更相减损术的应用 ? 解:由于 49 不是偶数,把 91 和 49 以大数减小 数,并辗转相减, ? 即: 91 - 48 = 42 49 - 42 = 7 42 - 7 = 35 ? 35 - 7 = 28 28 - 7 = 21 21 - 7 = 14 ? 14 - 7 = 7 ? 所以, 91 与 49 的最大公约数是 7 。 ? 例 2 求两个正数 a=204 和 b=85 的最大 公约数。 辗转相除法求最大公约数 ? 分析: 204 与 85 两数都比较大,而且 没有明显的公约数,如能把它们都 变小一点,根据已有的知识即可求 出最大公约数 ? 204 = 85 × 2 + 34 ? 显然 204 的最大公约数也必是 85 的约数, 同样 204 与 85 的公约数也必是 34 的约数, 所以 204 与 85 的最大公约数也是 85 与 34 的最大公约数。 ? 85 = 34 × 2 + 17 ? 34 = 17 × 2+0 ? 则 17 为 204 与 85 的最大公约数。 辗转相除法的基本步骤: 第一步:用较大的数 m 除以较小的数 n 得到

文档评论(0)

yusuyuan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档