〖研探新知〗
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得到一个商q0和一个余数r0;(m=n×q0+r0)
第二步:若r0=0,则n为m,n的最大公约数;若r0≠0,则用除数n除以余数r0得到一个商q1和一个余数r1;(n=r0×q1+r1)
第三步:若r1=0,则r0为m,n的最大公约数;若r1≠0,则用除数r0除以余数r1得到一个商q2和一个余数r2;(r0=r1×q2+r2)
……
依次计算直至rn=0,此时所得到的rn-1
即为所求的最大公约数。
练习1:利用辗转相除法求两数4081与20723的最大公约数. (53)
20723=4081×5+318;4081=318×12+265;318=265×1+53;
265=53×5+0.
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)
1.3算法案例
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)