辗转相除法求最大公约数算法: 第一步给定两个正数m,n 第二步,计算m除以n所得到余数r ·第三步,m=n,n=r 第四步,若r=0,则m,n的最大公约数等于m; 否则返回第二步 思考:需不需要比较m,n的大小 不需要
• 第一步,给定两个正数m,n • 第二步,计算m除以n所得到余数r • 第三步,m=n,n=r • 第四步,若r=0,则m,n的最大公约数等于m; 否则返回第二步 辗转相除法求最大公约数算法: 思考 :需不需要比较m,n的大小 不需要
程序框图 C开給 输入两个正数m m mod n mEn hEr r=0? 输出m 匚结束
否 开始 输入两个正数m,n r=m MOD n r=0? 输出m 结束 m=n n=r 是 程序框图
练习1:利用辗转相除法求两数4081与20723 的最大公约数 (53 20723=4081×5+318 4081=318×12+265 318=265×1+53 265=53×5+0
练习1:利用辗转相除法求两数4081与20723 的最大公约数. (53) 20723=4081×5+318; 4081=318×12+265; 318=265×1+53; 265=53×5+0
2.更相减损术: 我国早期也有解决求最大公约数问题的算 法,就是更相减损术 更相减损术求最大公约数的步骤如下:可 半者半之,不可半者,副置分母、子之数,以 少减多,更相减损,求其等也,以等数约之 翻译出来为:第一步:任意给出两个正数 判断它们是否都是偶数若是,用2约简;若不是, 执行第二步 第二步:以较大的数减去较小的数,接着把 较小的数与所得的差比较,并以大数减小数。继 续这个操作,直到所得的数相等为止,则这个数 (或这个数与约减数的乘积)就是所求的最大公 约数
2.更相减损术: 我国早期也有解决求最大公约数问题的算 法,就是更相减损术. 更相减损术求最大公约数的步骤如下:可 半者半之,不可半者,副置分母、子之数,以 少减多,更相减损,求其等也,以等数约之. 翻译出来为:第一步:任意给出两个正数; 判断它们是否都是偶数.若是,用2约简;若不是, 执行第二步. 第二步:以较大的数减去较小的数,接着把 较小的数与所得的差比较,并以大数减小数。继 续这个操作,直到所得的数相等为止,则这个数 (或这个数与约减数的乘积)就是所求的最大公 约数
例2用更相减损术求98与63的最大公约数 解:由于63不是偶数,把98和63以大数 减小数,并辗转相减, 即:98-63=35 63-35=28 35-28=7; 28-7=21 21-7=14 14-7=7 所以,98与63的最大公约数是7。 练习2:用更相减损术求两个正数84与72的最大 公约数。(12)
例2 用更相减损术求98与63的最大公约数. 解:由于63不是偶数,把98和63以大数 减小数,并辗转相减, 即:98-63=35; 63-35=28; 35-28=7; 28-7=21; 21-7=14; 14-7=7. 所以,98与63的最大公约数是7。 练习2:用更相减损术求两个正数84与72的最大 公约数。 (12)