一、辗转相除法定义

辗转相除法:以大数除以小数,如果能整除,那么小数就是所求的最大公约数(Greatest CommonDivisor:gcd)。否则就用余数来除刚才的除数;再用这新除法的余数去除刚才的余数。依此类推,直到一个除法能够整除,这时作为除数的数就是所求的最大公约数。即:gcd(x,y)表示x与y的最大公约数,有gcd(x,y)=gcd(y,x%y),如此便可把原问题转化为求两个更小数的公约数,直到其中一个数为0,剩下的另外一个数就是两者的最大公约数。

  • 例如:求 4453 和 5767 的最大公约数时,可作如下除法.
    5767÷4453=1 余 1314
    4453÷1314=3 余 511
    1314÷511 =2 余 292
    511 ÷292 =1 余 219
    292 ÷219 =1 余 73
    219÷73=3 于是得知,5767 和 4453 的最大公约数是 73。辗转相除法适用比较广,比短除法要好得多,它能保证求出任意两个数的最大公约数。

二、欧几里得辗转相除法证明

辗转相除法就是给出了一个关系:辗转相除法求 java 辗转相除法求特解_最大公约数,其中a、b、r满足a=bq+r。
设u同时整除a和b,则有
辗转相除法求 java 辗转相除法求特解_辗转相除_02
辗转相除法求 java 辗转相除法求特解_辗转相除法求 java_03,得到u也整除r。反过来,每一个整除b和r的整数辗转相除法求 java 辗转相除法求特解_证明_04,则有
辗转相除法求 java 辗转相除法求特解_辗转相除_05
辗转相除法求 java 辗转相除法求特解_最大公约数_06,得到辗转相除法求 java 辗转相除法求特解_证明_04也整除a。

综上:a和b的每一个公因子也是b和r的一个因子,反之亦然。所以a和b的全体公因子集合就与b和r的全体公因子集合相同。所以gcd(a,b)=gcd(b,r)。


三、推论

推论一:如果辗转相除法求 java 辗转相除法求特解_最大公约数_08,则能找到正的或负的整数辗转相除法求 java 辗转相除法求特解_最大公约数_09辗转相除法求 java 辗转相除法求特解_最大公约数_10,使得辗转相除法求 java 辗转相除法求特解_辗转相除_11

我们在使用辗转相除法时,由于辗转相除法求 java 辗转相除法求特解_辗转相除法求 java_12,我们可以假设辗转相除法求 java 辗转相除法求特解_欧几里得_13。这样我们能写出如下
辗转相除法求 java 辗转相除法求特解_证明_14公式一
辗转相除法求 java 辗转相除法求特解_证明_15
辗转相除法求 java 辗转相除法求特解_辗转相除_16
辗转相除法求 java 辗转相除法求特解_证明_17

只要余数辗转相除法求 java 辗转相除法求特解_欧几里得_18不是0就继续写下去。从右边的不等式,可以看出余数形成了一个严格递减序列:辗转相除法求 java 辗转相除法求特解_证明_19。因此最多b步,0这个余数必然出现。
辗转相除法求 java 辗转相除法求特解_辗转相除法求 java_20
辗转相除法求 java 辗转相除法求特解_辗转相除_21
此时,我们就得到辗转相除法求 java 辗转相除法求特解_辗转相除法求 java_22;

在公式一中,我们可以推出辗转相除法求 java 辗转相除法求特解_证明_23,所以辗转相除法求 java 辗转相除法求特解_最大公约数_24可以写成辗转相除法求 java 辗转相除法求特解_最大公约数_25的形式。所以
辗转相除法求 java 辗转相除法求特解_辗转相除_26,显然,通过这一串余数辗转相除法求 java 辗转相除法求特解_最大公约数_27的结果,推导出辗转相除法求 java 辗转相除法求特解_欧几里得_28


推论二:如果一个素数p整除乘积ab,则p必整除a或b。

因为p整除ab,所以辗转相除法求 java 辗转相除法求特解_辗转相除法求 java_29

因素数p仅有因子p和1,所以如果p不整除a,则gcd(a,p)=1,根据上面的推论一我们能找到整数辗转相除法求 java 辗转相除法求特解_最大公约数_30辗转相除法求 java 辗转相除法求特解_最大公约数_31,使得辗转相除法求 java 辗转相除法求特解_证明_32.在等式两边同时乘以b,我们得到:辗转相除法求 java 辗转相除法求特解_最大公约数_33,到此显然p整除b。

同理,当p不整除b时,可以证得p整除a。
综上,命题“如果一个素数p整除乘积ab,则p必整除a或b”得证。


注意:不妨举几个例子印证推论二。

  • 13是2652的一个因子,以及2652=6*442,就可以得出13是442的因子。
  • 6是240的一个因子,而240=15*16,但6既不是15也不是16的因子。why?这表明p是素数这个前提是不可或缺的。