最大公约数(GCD)计算器 — 辗转相除法
求最大公约数,给出辗转相除法的每一步、贝祖系数 x 和 y、最小公倍数,以及存在时的模逆元。
| 阶段 | 除法 | 商 | 余数 |
|---|---|---|---|
| gcd(1071, 462) | 1,071 = 2 × 462 + 147 | 2 | 147 |
| gcd(1071, 462) | 462 = 3 × 147 + 21 | 3 | 21 |
| gcd(1071, 462) | 147 = 7 × 21 + 0 | 7 | 0 |
这个最大公约数计算器用辗转相除法(欧几里得算法)求两个整数的最大公约数,并按数论和编程课程的呈现方式列出每一步除法。它还运行扩展算法,给出满足 ax + by = gcd(a, b) 的贝祖系数 x 和 y,以及两数互质时的模逆元。添加更多整数,即可一次化简整个列表。
使用方法
- 输入两个整数 a 和 b。
- 可选:再列出要计入最大公约数和最小公倍数的整数。
- 查看最大公约数,并在表中跟随辗转相除的各步。
- 贝祖系数和模逆元可用于丢番图方程和密码学练习。
计算公式
gcd(a, b) = gcd(b, a mod b),重复直到余数为 0
每一步都用较大的数除以较小的数所得的余数替换较大的数,最后一个非零余数就是最大公约数。把各步反向代入,就得到满足 a·x + b·y = gcd(a, b) 的整数 x 和 y,这就是贝祖等式;另外 lcm(a, b) = |a × b| ÷ gcd(a, b)。
示例
当 a = 1071、b = 462 时:1071 = 2 × 462 + 147,462 = 3 × 147 + 21,147 = 7 × 21 + 0。最后一个非零余数给出 gcd = 21。反向代入得 21 = 1071 × (−3) + 462 × 7,所以 x = −3,y = 7,最小公倍数为 1071 × 462 ÷ 21 = 23,562。
常见问题
为什么辗转相除法这么快?
每两步余数至少减半,因此步数随位数增长,而不是随数的大小增长。即使是 15 位的输入,也远在 100 步之内完成。
什么叫互质?
当两个整数的最大公约数为 1 时,它们互质,例如 8 和 15。只有此时 a 才有模 b 的逆元。
怎样由此得到模逆元?
当 gcd(a, b) = 1 时,系数 x 满足 a·x ≡ 1 (mod b)。对于 a = 3、b = 11,逆元是 4,因为 3 × 4 = 12 = 11 + 1。
数的正负号有影响吗?
非零数列表的最大公约数为正数,所以 gcd(−12, 18) = 6。贝祖系数会随之调整,使等式在你输入的符号下仍然成立。
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/gcd-calculator/
引用此工具
kakaoCalc. (2026, November 8). 最大公约数(GCD)计算器 — 辗转相除法. https://kakao.mobile/zh/tools/gcd-calculator/
“最大公约数(GCD)计算器 — 辗转相除法.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/gcd-calculator/.