1、用心 爱心 专心 113 辗转相除法与更相减损术教学目标:1 理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析。 2基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序。教学重点:理解辗转相除法与更相减损术求最大公约数的方法。教学难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言。教学过程提出问题:在小学,我们已经学过求最大公约数的知识,如口算求出 12 与 20 的公约数。分析:我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们的最大公约数?比如求 8251 与 6105 的最
2、大公约数?这就是我们这一堂课所要探讨的内容。辗转相除法例 1 求两个正数 8251 和 6105 的最大公约数。分析:8251 与 6105 两数都比较大,而且没有明显的公约数,可以把它们都变小一点,根据已有的知识即可求出最大公约数 8251610512146显然 8251 的最大公约数也必是 2146 的约数,同样 6105 与 2146 的公约数也必是 8251 的约数, 所以8251 与 6105 的最大公约数也是 6105 与 2146 的最大公约数。6105214621813 21461813133318133335148 3331482371483740 则 37 为 8251 与
3、 6105 的最大公约数。以上我们求最大公约数的方法就是辗转相除法。也叫欧几里德算法,它是由欧几里德在公元前 300 年左右首先提出的。利用辗转相除法求最大公约数的步骤如下:(1):用较大的数 m 除以较小的数 n 得到一个商 和一个余数 ;(2):若 0,则 n 为 m,n 的0S0R最大公约数;若 0,则用除数 n 除以余数 得到一个商 和一个余数 ;(3):若 0,则0RR111R为 m,n 的最大公约数;若 0,则用除数 除以余数 得到一个商 和一个余数 ; 1 10 2S2依次计算直至 0,此时所得到的 即为所求的最大公约数。n1n更相减损术我国早期也有求最大公约数问题的算法,就是更
4、相减损术。在九章算术中有更相减损术求最大公约数的步骤:可半者半之,不可半者,副置分母子之数,以少减多,更相减损,求其等也,以等数约之。翻译为:(1):任意给出两个正数;判断它们是否都是偶数。若是,用 2 约简;若不是,执行第二步。(2):以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数。例 2 用更相减损术求 98 与 63 的最大公约数.分析:(略) 辗转相除法与更相减损术的区别:(1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为 0 则得到,而更相减损术则以减数与差相等而得到小结:对比分析辗转相除法与更相减损术求最大公约数的计算方法及完整算法程序。