具体数学 - 整除性 Divisibility
如果 \(m>0\) 且比值 \(n/m\) 是一个整数,我们就说 \(m\) 整除 \(n\)(或者 n 被 m 整除),记作
两个整数 \(m\) 和 \(n\) 的最大公因子是能整除它们两者的最大整数
欧几里得算法
欧几里得算法即使用辗转相除法求两个整数的最大公因子,使用以下递归式进行计算
该递归式成立的原因是,\(m\) 和 \(n\) 的任何公因子必定是 \(m\) 和 \(n \bmod m\) 的公因子。将欧几里得算法进行推广可以得到如下形式
式子对一定的整数 \(m'\) 与 \(n'\) 成立,这其实就是裴蜀定理,下面进行证明。我们将等式两边同除以 \(d = \gcd(m,n)\),则我们只需证明 \(m'm_1 + n'n_1=1\) 即可。我们将欧几里得算法中的每一个步骤进行展开得
假设算法在相除到互素时退出,此时 \(r_n = 1\)。我们使用倒数第一个式子中的 \(r_{n-1}\) 替换倒数第二个式子中的 \(r_{n-1}\),得到 \(r_{n-2} = A_n r_{n-1} + 1\),即 \(1 = r_{n-2} - A_n r_{n-1}\)。于是,我们再结合倒数第三个式子,使用 \(r_{n-1} = r_{n-3} - A_{n-1} r_{n-2}\) 替换第二个式子中的 \(r_{n-1}\),得到 \(1 = r_{n-2} - A_n(r_{n-3} - A_{n-1} r_{n-2}) = - A_n r_{n-3} + (1 + A_n A_{n-1})r_{n-2}\)。其中,\(A_i\) 是多项式。我们比较替换替换操作前后的式子,发现 \(r_i\) 往前递推了 \(1\) 次得到 \(r_{i-1}\),并乘以一个多项式,因此我们一直往前递推,可以得到存在整数(多项式计算的结果) \(m'\) 与 \(n'\) 使得 \(1 = m'm_1 + n'n_1\),得证。
上式可以引出一个重要定理
证明如下,如果 \(k\) 整除 \(m\) 和 \(n\) 这两者,它就整除 \(m'm+n'n\),所以它整除 \(\gcd(m,n)\)。反过来,如果 \(k\) 整除 \(\gcd(m,n)\) ,它就整除 \(m\) 的一个因子和 \(n\) 的一个因子,所以它整除 \(m\) 和 \(n\) 这两者。

浙公网安备 33010602011771号