描述:關於輾轉相除法的具體實現在這裏就不具體說明了,本文要記錄的是輾轉相除法應用於求最大公約數的算法證明過程。
假設:
-
求m和n的最大公約數。
- a,b分別是m除以n的商和餘數,即m=na+b。
- gcd(m,n)表示m和n的最大公約數。
求證:gcd(m,n)=gcd(n,b)
證明:
設c=gcd(m,n), d=gcd(n,b)
1. ∵c爲m和n的公約數
∴m能被c整除,n也能被c整除
∴na也能被c整除 參照推論一
∴m-na也能被c整除(即b能c整除) 參照推論二
∴c爲n和b的公約數
∵d爲n和b的最大公約數
∴c≤d
2. 同理可證 d≤c
∵d爲n和b的公約數
∴n能被d整除,b也能被d整除
∴na也能被d整除 參照推論一
∴na+b也能被d整除(即m能d整除) 參照推論二
∴d爲m和n的公約數
∵c爲m和n的最大公約數
∴d≤c
綜上所述:c=d,即gcd(m,n)=gcd(n,r)
推論一:若a能被b整除(a=tb),則如果k爲正整數,則ka也能被b整除(ka=ktb)。
推論二:若a能被c整除,b也能被c整除,則(a±b)也能被c整除。
文章轉自:點擊打開鏈接