最大公约数 · 最小公倍数 (含质因数分解)
输入整数列表。计算器返回 GCD (欧几里得算法)、LCM、每个输入的完整质因数分解。用 BigInt 处理任意大小的整数。
质因数分解
- 12 = 22 × 3
- 18 = 2 × 32
- 24 = 23 × 3
工作原理
GCD: 最大共享因子
两个整数的 GCD 是能整除两个数 (无余数) 的最大整数。GCD(12, 18) = 6 因为 6 整除两者且无更大数能。GCD(7, 13) = 1 因为它们无共同因子 (这种对称为「互素」)。
我们用欧几里得算法: gcd(a, b) = gcd(b, a mod b), 递归。已知约 2300 年, 至今仍是最快的标准方法。三个或更多数: gcd(a, b, c) = gcd(gcd(a, b), c)。
LCM: 最小共享倍数
LCM 是同时是两个数倍数的最小正整数。LCM(4, 6) = 12 因为 12 是 4 和 6 都整除的第一个数。
公式: lcm(a, b) = (a × b) / gcd(a, b)。对 4 和 6: 24 / 2 = 12。三个数: lcm(a, b, c) = lcm(lcm(a, b), c)。
如果任何数是 0, LCM 是 0 (每个数都整除 0, 但「最小正」未定义)。计算器对该情况返回 0。
为什么这重要
分数: 加 1/4 + 1/6, 求 LCM(4, 6) = 12 作公分母。1/4 = 3/12, 1/6 = 2/12, 和 = 5/12。
调度: 如果事件 A 每 4 天重复、事件 B 每 6 天, 它们每 LCM(4, 6) = 12 天同时发生。
密码学: 基于 GCD 的算法 (扩展欧几里得) 是 RSA 密钥生成和模逆元计算的基础。
音乐理论: 周期 3 和 4 的节奏在 12 拍后同步 (LCM)。
常见问题
›我的数互素时?
GCD = 1 且 LCM = 所有数的乘积。互素意味无共同质因子。
›可以包含负数?
可以。GCD/LCM 计算用绝对值。-12 和 18 给 GCD 6 和 LCM 36, 与 12 和 18 相同。
›如果输入 0?
GCD(0, n) = |n| (因为每个整数整除 0, n 是该对最大)。LCM 与 0 按惯例是 0。全零 GCD/LCM 未定义。
›数能多大?
我们内部用 BigInt, 所以任意大小整数的算术都精确。实用极限是你的输入速度和屏幕空间。
›为什么质因数分解有用?
GCD = 共同质数乘积 (取较小指数)。LCM = 任何数中出现的所有质数的乘积 (取较大指数)。因数分解让这些关系可见。
›GCD 与 LCM 的关系?
对两个数: a × b = gcd(a, b) × lcm(a, b)。所以如果知道 {a, b, gcd, lcm} 中任意三个, 可以算第四个。不能干净推广到三个或更多数。
›可以用于多项式 GCD?
本工具不能 — 我们仅处理整数。多项式用 SymPy 或 Maxima 等 CAS。
›数据会上传吗?
不会。计算在本地; 不向服务器发送。
相关工具
最后更新: