跳到内容
← 全部问题

为什么最后一个非零余数 rnr_n 是 gcd⁡(a,b)\gcd(a,b)?

最后一个非零余数 rnr_n 是 gcd⁡(a,b)\gcd(a,b),因为欧几里得算法在每一步都保持最大公约数不变:gcd⁡(a,b)=gcd⁡(b,r1)=gcd⁡(r1,r2)=⋯=gcd⁡(rn,0)\gcd(a,b) = \gcd(b,r_1) = \gcd(r_1,r_2) = \dots = \gcd(r_n, 0)。由于任何数都能整除 0,rnr_n 和 0 的最大公约数就是 rnr_n 本身。

适用条件

  • 当余数为 0 时算法终止。
  • rnr_n 是序列中的最后一个非零余数。

理解与推导

  1. 回忆不变量 gcd⁡(a,b)=gcd⁡(b,a mod b)\gcd(a,b) = \gcd(b, a \bmod b)。
  2. 反复应用它得到 gcd⁡(a,b)=gcd⁡(rn,rn+1)\gcd(a,b) = \gcd(r_n, r_{n+1})。
  3. 注意到当 rn+1=0r_{n+1} = 0 时算法停止。
  4. 得出 gcd⁡(rn,0)=rn\gcd(r_n, 0) = r_n,所以 gcd⁡(a,b)=rn\gcd(a,b) = r_n。

例子

视频展示了最后一步 rn−1=qn+1rn+0r_{n-1} = q_{n+1}r_n + 0 并得出结论 d=gcd⁡(a,b)=rnd = \gcd(a,b) = r_n,强调答案是最后一个非零余数,而不是 0。

容易误解的地方

  • 将最终的余数 0 误认为是最大公约数。
  • 认为最大公约数是最后一次除法的商。

观看对应讲解

相关概念

继续追问

相关问题

理解原因

↗
掌握方法

↗
认识概念

↗

答案依据视频资料生成并经过独立核验。若有疑问,请核对原视频或联系原作者。