最大公约数与最小公倍数计算器
输入两个或多个整数,一次算出最大公约数与最小公倍数,并列出每个数的质因数分解,方便核对与讲解。
约分要最大公约数,通分要最小公倍数,小学高年级数学绕不开这对概念;往深处走,分数化简、周期问题、齿轮啮合,用的还是它们。把几个整数一起丢进来,两个答案连同各自的质因子拆解一起给出——拆解式摆在那里,解题过程都能对着讲。
关系与口径:LCM(a,b) = a × b ÷ GCF(a,b)(两数时恒成立,多数要两两递推);本工具支持负数输入但 GCF/LCM 按绝对值给出(数学惯例取正);质因数分解对大数可能较慢,超出范围的会提示。
这个工具解决你的问题了吗?
提交后会把工具名、你的输入与当前结果发送到服务器;请勿填写身份证号、手机号等隐私信息。
AI 助手 会结合你当前的输入与结果回答
追问会再次把当前输入与结果发送到服务器;请勿填写隐私信息。
使用步骤
- 输入两个或多个整数(逗号或空格分隔)。
- 看 GCF 与 LCM,以及每个数的质因数分解。
- 核对关系:两数时 LCM = a × b ÷ GCF。
- 复制结果;约分用 GCF,通分用 LCM。
计算原理与示例
数据怎么输入
用逗号(中英文都可以)、空格或换行分隔整数,例如 12, 18, 24;至少输入两个数。
最大公约数怎么算
最大公约数用辗转相除法逐对求:先求前两个数的公约数,再与第三个数求公约数,依次类推。例如 gcd(12,18) = 6,再与 24 求得 6。
最小公倍数怎么算
最小公倍数的公式是 lcm(a,b) = a × b ÷ gcd(a,b)。多个数则逐步合并:先算前两个的 LCM,再与下一个数合并。
质因数分解的用途
质因数分解把每个数写成质数幂的乘积(如 360 = 2³ × 3² × 5)。它也是求 GCD 与 LCM 的另一种方法:GCD 取公共质因数的最小次幂,LCM 取全部质因数的最大次幂。
代码示例
JavaScript 辗转相除 + 递推 LCM
const gcd = (a, b) => b ? gcd(b, a % b) : a;
function gcfLcm(...nums) {
const g = nums.reduce((a, b) => gcd(a, b));
const l = nums.reduce((a, b) => a * b / gcd(a, b));
return { gcf: g, lcm: l };
}
gcfLcm(12, 18, 24); // { gcf: 6, lcm: 72 }
Python math.gcd 与 lcm
import math
from functools import reduce
math.gcd(12, 18) # 6
math.lcm(12, 18) # 36(Python 3.9+)
# 多个数:
reduce(math.gcd, [12, 18, 24]) # 6
reduce(math.lcm, [12, 18, 24]) # 72
常见问题
最大公约数和最小公倍数分别用在哪里?
最大公约数用于约分分数、等分物品、简化比例,例如把 12/18 约成 2/3 就是除以 GCD 6。最小公倍数用于通分、找两个周期性事件再次同时发生的时刻,例如两班车 4 分钟与 6 分钟一班,12 分钟后再次同时发车。
为什么最小公倍数要用最大公约数来算?
因为 a × b 恰好等于 gcd(a,b) × lcm(a,b),所以 lcm(a,b) = a × b ÷ gcd(a,b)。直接靠试除找最小公倍数在大数上很慢,先用辗转相除法得到 GCD 再除一次是最快的做法,本工具就是按这个顺序计算的。
可以输入负数吗?
可以,但结果按绝对值计算。数学上 gcd(−12, 18) 通常取正的 6,本工具沿用这一约定,负数会被自动取绝对值,屏幕上的展示不做符号变化。
含有 0 时结果是多少?
最小公倍数含 0 时结果为 0,因为 0 是任何数的倍数。最大公约数则不受影响:gcd(0, 5) = 5,0 与任何数的公约数就是那个数本身的约数。
最多可以输入多少个数?
列表长度没有硬性限制,但每个数都参与质因数分解,输入几十个上千的数会明显变慢。日常通分、约分场景通常在 2 至 5 个数以内,计算是瞬时的。
结果太长显示成字符串是什么情况?
当最小公倍数超过 JavaScript 的整数安全范围(2^53 − 1,约 9×10^15)时,为了避免用浮点数表示而丢精度,工具会改以精确的数字字符串输出。这种情况通常出现在多个接近十万的大质数之间。
质因数分解有什么限制?
只支持 10^15 以内的正整数,用的是试除法:超出范围会提示数字过大。分解 1 返回空结果(1 没有质因数),质数则返回它自己。
输入的数字会被记录或上传吗?
不会上传。整个计算在浏览器本地完成,服务器只提供页面文件。计算历史保存于本机 localStorage,可以直接点历史区的清空按钮删除,使用无痕窗口则不会留下任何记录。
延伸阅读
来自本站原创文章,讲清这个工具背后的算法与口径。