3算法案例(讲)在初中,我们已经学过求最大公约数的知识,你能求出18与30的公约数吗
我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们的最大公约数
比如求8251与6105的最大公约数
这就是我们这一堂课所要探讨的内容
辗转相除法例1求两个正数8251和6105的最大公约数
(分析:8251与6105两数都比较大,而且没有明显的公约数,如能把它们都变小一点,根据已有的知识即可求出最大公约数)解:8251=6105×1+2146显然8251的最大公约数也必是2146的约数,同样6105与2146的公约数也必是8251的约数,所以8251与6105的最大公约数也是6105与2146的最大公约数
6105=2146×2+18132146=1813×1+3331813=333×5+148333=148×2+37148=37×4+0则37为8251与6105的最大公约数
以上我们求最大公约数的方法就是辗转相除法
也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的
利用辗转相除法求最大公约数的步骤如下:第一步:用较大的数m除以较小的数n得到一个商q0和一个余数r0;第二步:若r0=0,则n为m,n的最大公约数;若r0≠0,则用除数n除以余数r0得到一个商q1和一个余数r1;第三步:若r1=0,则r1为m,n的最大公约数;若r1≠0,则用除数r0除以余数r1得到一个商q2和一个余数r2;……依次计算直至rn=0,此时所得到的rn-1即为所求的最大公约数
练习:利用辗转相除法求两数4081与20723的最大公约数(答案:53)2
更相减损术我国早期也有解决求最大公约数问题的算法,就是更相减损术
更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母·子之数,以少减多,更相减损,求其等也,以等