欧几里得算法
又名辗转相除法,是求最大公因数的算法。

定理:
\(\gcd(a,b)\)\(a,b\) 的最大公因数
\(\gcd(a,b)=\gcd(b,a\bmod b)\)

证明:

\(a > b\)
\(a = kb+c\),显然地 \(c=a\bmod b\)
\(d=\gcd(a,b)\),则设 \(\left\{\begin{matrix}a=p_1d \\b=p_2d\end{matrix}\right.\),显然地 \(p_1\)\(p_2\) 互质
代入得 \(p_1d = kp_2d+c\)
\(c = d(p_1-kp_2)\)
则定理可改写为 \(\gcd(p_1d,p_2d)=\gcd(dp_2,d(p_1-kp_2))=d\)
即证明 \(p_2\)\(p_1-kp_2\) 互质
反证法
\(p_2\)\(p_1-kp_2\) 不互质,设其最大公因数为 \(t\)
\(\left\{\begin{matrix}p_2=tm \\p_1-kp_2=tn\end{matrix}\right.\) \(m,n\) 互质,\(t\ge 2\)
\(∵ p_2=tm\)
\(∴ p_1 -ktm=tn\)
\(p_1=t(km+n)\)
\(\left\{\begin{matrix}p_2=tm \\p_1=t(km+n)\end{matrix}\right.\) \(m,n\) 互质,\(t\ge 2\)
\(∴ \left\{\begin{matrix}a=p_1d=td(km+n) \\b=p_2d=tmd =td\cdot m\end{matrix}\right.\)
\(∵ t\ge2\)
\(∴ \gcd(a,b)=td > d\)
与命题矛盾,即 \(p_2\)\(p_1-kp_2\) 互质
\(\gcd(a,b)=\gcd(b,a\bmod b)\)

证毕