歐幾里得算法的證明


求證:歐幾里得算法(也叫輾轉相除法),即:

gcd(a, b) = gcd(b, a mod b)

證明:

前提公式:

\(\left . \begin{array}{lcr} a = md \\ b = \ nd \\ m、n互質 \end{array} \right\} \Leftrightarrow d是a和b的最大公約數\)

設 gcd(a, b) = \(d_1\),

\(\Rightarrow \left . \begin{array}{lcr} a = md_1 \\ b = \ nd_1 \end{array} \right\} 其中,m、n互質\)

\(a = bq + r_1 \Rightarrow r1 = a - bq = md_1 - nqd_1 = (m - nq)d_1\)

只要證明 n 與 m - nq 互質.

下面用反證法來證明 n 與 m - nq 互質:
首先,假設 n 與 (m - nq) 不互質
不妨設 \(gcd(n, m - nq) = d_2\)(其中,\(d_2\) > 1)

\(\Rightarrow \left \{ \begin{array}{lcr} n = xd_2 \\ m - nq = yd_2 \end{array} \right . 其中,x、y互質\)

然后可得:\(m = (y + xq)d_2\) \(\Rightarrow\) m、n不互質,這與前面的條件矛盾,故假設不成立,所以 n 與 m-nq 互質,由前提公式得,\(d_1\)是 b 和 \(r_1\) 的最大公約數,又:\(d_1\) 是 a 和 b 的最大公約數,所以:

gcd(a, b) = gcd(b, a mod b),命題得證。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM