1.3算法案例
1.3 算法案例
案例1辗转相除法与更相减损术 [问题1:在小学,我们已经学过求最大公约数 的知识,你能求出18与30的最大公约数吗? 21830 <? 915 5 18和30的最大公约数是2×3=6 先用两个数公有的质因数连续去除,一直除到所 得的商是互质数为止然后把所有的除数连乘起 来
3 5 9 15 [问题1]:在小学,我们已经学过求最大公约数 的知识,你能求出18与30的最大公约数吗? 2 18 30 3 ∴18和30的最大公约数是2×3=6. 先用两个数公有的质因数连续去除,一直除到所 得的商是互质数为止,然后把所有的除数连乘起 来. 案例1 辗转相除法与更相减损术
[问题2]:我们都是利用找公约数的方法来求 最大公约数,如果两个数比较大而且根据我 们的观察又不能得到一些公约数,我们又应 该怎样求它们的最大公约数?比如求8251与 6105的最大公约数?
[问题2]:我们都是利用找公约数的方法来求 最大公约数,如果两个数比较大而且根据我 们的观察又不能得到一些公约数,我们又应 该怎样求它们的最大公约数?比如求8251与 6105的最大公约数?
〖研探新知〗 1.辗转相除法: 例1求两个正数8251和6105的最大公约数。 分析:8251与6105两数都比较大,而且没 有明显的公约数,如能把它们都变小一点,根 据已有的知识即可求出最大公约数 解:8251=6105×1+2146 显然8251与6105的最大公约数也必是2146 的约数,同样6105与2146的公约数也必是8251 的约数,所以8251与6105的最大公约数也是 6105与2146的最大公约数
〖研探新知〗 1.辗转相除法: 例1 求两个正数8251和6105的最大公约数。 分析:8251与6105两数都比较大,而且没 有明显的公约数,如能把它们都变小一点,根 据已有的知识即可求出最大公约数. 解:8251=6105×1+2146 显然8251与6105的最大公约数也必是2146 的约数,同样6105与2146的公约数也必是8251 的约数,所以8251与6105的最大公约数也是 6105与2146的最大公约数
1.辗转相除法: 例1求两个正数8251和6105的最大公约数。 解:8251=6105×1+2146 6105=2146×2+1813 2146=1813×1+333; 1813=333×5+148; 333=148×2+37; 148=37×4+0 则37为8251与6105的最大公约数。 以上我们求最大公约数的方法就是辗转相 除法。也叫欧几里德算法,它是由欧几里德在 公元前300年左右首先提出的
1.辗转相除法: 例1 求两个正数8251和6105的最大公约数。 解:8251=6105×1+2146; 6105=2146×2+1813; 2146=1813×1+333; 1813=333×5+148; 333=148×2+37; 148=37×4+0. 则37为8251与6105的最大公约数。 以上我们求最大公约数的方法就是辗转相 除法。也叫欧几里德算法,它是由欧几里德在 公元前300年左右首先提出的
辗转相除法求最大公约数算法: 第一步给定两个正数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)