跳到内容
← 全部问题

必须继续欧几里得算法直到余数恰好为 0 吗?

严格来说,欧几里得算法的标准停止条件是继续直到余数为 0。然后最后一个非零余数就是最大公约数。然而,如果你达到了余数 1,你已经知道最大公约数必须是 1,因为 1 整除一切,且没有更大的数能整除 1。视频通过指出达到 1 使最大公约数显而易见来演示这一点,但仍然写出了最后一步 17=17⋅1+017 = 17 \cdot 1 + 0 以满足正式的停止规则。

适用条件

  • 输入是自然数。
  • 正在应用欧几里得算法。

理解与推导

  1. 反复应用除法算法。
  2. 如果达到余数 1,最大公约数就是 1。
  3. 为了正式遵循算法的停止条件,再多走一步得到余数 0。
  4. 将最后一个非零余数识别为最大公约数。

例子

在例子中,讲师达到了 18=1⋅17+118 = 1 \cdot 17 + 1。他指出最大公约数是 1,但添加了 17=17⋅1+017 = 17 \cdot 1 + 0 以完成标准链。

容易误解的地方

  • 认为如果在 1 处停止算法就会失败;它在实践上是正确的,但在形式上不完整。
  • 认为即使答案很早就很明显,也必须始终计算所有步骤。

观看对应讲解

相关概念

继续追问

相关问题

理解原因

↗
掌握方法

↗
理解原因

↗

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