使用方法
- 在「第一个正整数 a」填入一个数(示例 48)。
- 在「第二个正整数 b」填入另一个数(示例 18),两数顺序不影响结果。
- 点击「计算最大公约数」,立即得到最大公约数、最小公倍数、全部公约数与化简后的分数。
- 下方「辗转相除过程」逐行列出每一步的取余运算,可用来核对或手抄步骤。
- 改任意一个数,结果实时同步;按 Enter 键也能触发计算。
这个最大公约数计算器能解决什么问题
最大公约数最常见的用途其实不是做题,而是"把东西分成一样大的堆"——48 个苹果和 18 个橘子要装成每份内容相同的果篮,最多能装几份?答案就是它们的最大公约数。本最大公约数计算器除了给出结果,还列出全部公约数和辗转相除的每一步,让你既能拿到答案也能看懂过程。它适用于分数约分、物料分堆与装箱、排班周期对齐、瓷砖与格栅的等分排布、比例尺化简。
计算原理与变量说明
设两个正整数 a、b,最大公约数 G = gcd(a, b),最小公倍数 L = lcm(a, b)。
- 辗转相除法(欧几里得算法):
gcd(p, q) = q = 0 ? p : gcd(q, p mod q)——页面主算法就是这条递归式。 - 与最小公倍数的关系:
a × b = G × L,所以L = a × b ÷ G。 - 公约数:所有能同时整除
a和b的正整数,其中最大的就是G;公约数的个数等于G的约数个数。 - 化简分数:分子分母同时除以
G,本例 48/18 → 8/3。
核心性质:辗转相除每一步都把"大数换小数",余数严格递减,因此必然在有限步内结束,而且比逐个枚举约数快得多。
完整示例(数值仅作演示)
示例条件:a = 48,b = 18。
- 辗转相除:48 ÷ 18 余 12;18 ÷ 12 余 6;12 ÷ 6 余 0。余数为 0 时的除数 6 即为最大公约数。
- 最大公约数 6。
- 最小公倍数 144(= 48 × 18 ÷ 6)。
- 全部公约数:1、2、3、6(正好是 6 的所有约数)。
- 分数 48/18 化简为 8/3(分子分母同除以 6)。
实际含义:48 和 18 个物品要分成内容相同的若干份,最多可以分成 6 份,每份 8 个和 3 个。
示例中的数值均为演示数值,不代表任何实际物料或排班数据。
常见数对对照
下表列出几组典型数对的结果,用于快速核对算法是否用对。
| 数对 (a, b) | 最大公约数 | 最小公倍数 | 化简分数 |
|---|---|---|---|
| (12, 18) | 6 | 36 | 2 / 3 |
| (48, 18) | 6 | 144 | 8 / 3 |
| (100, 75) | 25 | 300 | 4 / 3 |
| (81, 27) | 27 | 81 | 3 / 1 |
| (17, 5) | 1 | 85 | 17 / 5 |
输入范围、舍入与适用说明
- 输入范围:1 ~ 1,000,000,000 的正整数;输入带小数时页面按整数部分处理。
- 结果均为整数,不做小数舍入;公约数列表按从小到大排列。
- 数值 ≤ 0、留空或非数字时,页面会给出明确提示,不会静默返回 0。
- 两数都为 0 时最大公约数不存在,页面会提示而不是返回 0。
- 两数互质时最大公约数为 1,页面会明确标注"互质",此时最小公倍数等于两数之积。
- 两数相等时最大公约数就是该数本身,最小公倍数也相同。
- 为保证大数运算稳定,公约数列表最多展示前 200 项。
常见问题
辗转相除法为什么是对的?
因为 gcd(a, b) = gcd(b, a mod b)。若 d 同时整除 a 和 b,它也整除 a − kb(即余数);反过来同理。所以不断用"除数 ÷ 余数"替换,最大公约数保持不变,直到余数为 0,此时的除数就是答案。
最大公约数和最小公倍数有什么关系?
两数之积等于它们最大公约数与最小公倍数的积:a × b = gcd × lcm。本例 48 × 18 = 864,6 × 144 也是 864。知道其中一个就能推出另一个。
结果是 1 说明什么?
说明两数互质(除了 1 没有别的公因子)。此时分数无法再约分,最小公倍数就是两数的乘积。例如 17 和 5 互质,最小公倍数为 85。
能算三个数的最大公约数吗?
本页面一次算两个数。三个数可以分步算:gcd(a, b, c) = gcd(gcd(a, b), c)。先用本页算出前两个的结果,再把它和第三个数一起算一遍即可。
输入小数会怎样?
最大公约数定义在整数上。页面会把输入取整后再计算,并在提示里说明。若你的数据本身是小数(如 4.8 和 1.8),建议先同乘 10 变成整数再算,结果再除以 10。
负数能算吗?
数学上最大公约数取正值,符号不影响结果:gcd(−48, 18) 与 gcd(48, 18) 相同。页面要求填正整数以简化输入,负数请先取绝对值。
这个工具免费吗?
免费,无需注册即可使用。
输入的数据安全吗?
安全。计算在当前浏览器本地完成,不会上传输入内容。