最大公约数与最小公倍数
基于欧几里得辗转相除法计算 GCD 与 LCM,支持任意多个数与大数(BigInt),附质因数分解与计算步骤
GCD / LCM 计算器
输入多个整数(逗号或空格分隔),自动计算最大公约数与最小公倍数
支持任意多个整数,逗号或空格分隔。支持负数(按绝对值计算)与大数(如 12345678901234567890)
输入数字后自动计算 GCD 与 LCM...
数学原理与算法
最大公约数(GCD)
几个数公有的约数中最大的一个。本工具采用欧几里得辗转相除法计算:
GCD(a, b) = GCD(b, a mod b),当 b = 0 时返回 a
最小公倍数(LCM)
几个数公有的倍数中最小的一个。基于 GCD 计算:
LCM(a, b) = |a × b| / GCD(a, b)
多数扩展
对于多个数,递归计算:GCD(a, b, c) = GCD(GCD(a, b), c),LCM 同理。
质因数分解
将整数分解为质数的乘积,如 12 = 2² × 3。公共质因数即所有输入数都包含的质因数。
BigInt 大数支持
本工具使用 JavaScript BigInt 进行运算,支持任意精度的大数计算,例如 123456789012345678901234567890 这样的超大整数。
常见问题
GCD 和 LCM 之间有什么关系?
两个数的 GCD 与 LCM 满足关系:GCD(a, b) × LCM(a, b) = |a × b|。因此知道其中之一即可求出另一个。本工具先求 GCD(用欧几里得算法),再用公式 LCM = |a × b| / GCD 计算 LCM,效率高于直接枚举倍数。
支持负数输入吗?
支持。GCD 和 LCM 的定义基于数的绝对值,因此工具会自动取输入数的绝对值进行计算。例如输入 -12 和 18,结果与输入 12 和 18 完全一致:GCD=6,LCM=36。
能处理多大的数?
本工具使用 JavaScript 的 BigInt 类型进行运算,支持任意精度整数,理论上没有上限(仅受浏览器内存限制)。可以放心输入几十位甚至上百位的大整数,结果依然精确。
质因数分解中的指数如何表示?
质因数分解结果中,相同质因数会合并为幂的形式。例如 12 分解为 2² × 3,其中 2 上方的指数 2 表示 2 出现两次(即 2 × 2 = 4)。指数为 1 时省略不写,如 18 = 2 × 3²。