1.1.25使用數學歸納法證明歐幾里得算法能夠計算任意一對非負整數p和q的最大公約數。
1) 基礎步驟:求證gcd(p,q)=gcd(q,r)
證:令p=a*q+r,其中p、a、q、r均為非負整數。
設整數d|p、d|q,則d|(p-a*q),得p與q的公約數和q與r的公約數相同。
設整數d|q、d|r,則d|(a*q+r),得q與r的公約數和p與r的公約數相同。基於上述兩點得gcd(p,q)=gcd(q,r)。
2) 歸納步驟:設有gcd(p,q)=gcd(q,r),求證gcd(q,r)=gcd(r, q%r)
證:由gcd(p,q)=gcd(q,r)可得d|p、d|q、d|r、p=a*q+r。
由於有q=⌊q/r⌋*r+q%r、d|q、d|r,所以有d|q%r所以有gcd(q,r)=gcd(r,q%r)。
參考資料:《離散數學及其應用》原書第7版中文版,ISBN:9787111453826 請使用正版資料。







后感:看懂與證明是兩件完全不同的事情。
