跳到内容
从一个困惑开始

你想弄懂什么?

找到答案,看到讲解发生的那一刻,再顺着概念继续探索。

← 概念导览

关于「欧几里得算法如何通过连续的带余除法逐步迭代?」

2 个关键词匹配

正在理解你的问题,下面的搜索结果可先查看。

理解原因

↗

最后一个非零余数 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 是序列中的最后一个非零余数。

理解原因

↗

将 gcd⁡(a,b)\gcd(a,b) 改为 gcd⁡(b,r1)\gcd(b,r_1) 会使问题规模变小,因为余数 r1r_1 严格小于除数 bb。通过将较大的数 aa 替换为较小的余数 r1r_1,最大公约数函数的输入大小在每次迭代中都会减小。

适用条件:整数 aa 和 bb 满足 a≥b>0a \ge b > 0。;余数 r1r_1 满足 0≤r1<b0 \le r_1 < b。