最大公约数计算器
在线最大公约数计算器:输入两个或多个整数,一步算出最大公约数(GCD / 最大公因数)与最小公倍数(LCM),并给出辗转相除法(欧几里得算法)的逐行求解步骤。全程整数(BigInt)精确运算,支持负数与超大数。
支持多个数字,用空格、逗号或顿号分隔,例如 12 18 30;负数按绝对值计算。
最大公约数 (GCD)
6
参与计算的数12、18最小公倍数 (LCM)36是否互质否
辗转相除法(欧几里得算法)
- 18 = 1 × 12 + 6
- 12 = 2 × 6 + 0
- 余数为 0,最大公约数 = 6
怎么用
- 输入整数:在输入框里填两个或多个整数,用空格、逗号或顿号分隔,例如「12, 18, 30」。负数按绝对值参与计算(最大公约数定义在数值大小上)。
- 自动出结果:每改一次输入立即计算,给出最大公约数(GCD)与最小公倍数(LCM),并标注这组数是否互质(公约数为 1)。
- 看求解步骤:两个数时给出完整的「辗转相除法(欧几里得算法)」竖式步骤;多个数时给出逐步合并的求解式(先两两求 GCD 再继续)。
- 用于约分 / 通分:约分时用 GCD:分子分母同除以它们的最大公约数即得最简分数;通分(如分数相加)时用 LCM 作为公分母最省力。
原理与公式
最大公约数(GCD):能同时整除给定整数的最大正整数,也叫 GCF(最大公因数)、HCF(最高公因子)。
辗转相除法(欧几里得算法)
基于 gcd(a, b) = gcd(b, a mod b):用大数除以小数取余,再用上一步的除数除以余数, 反复到余数为 0,最后的除数即最大公约数。
例 gcd(48, 18):48 = 2 × 18 + 1218 = 1 × 12 + 612 = 2 × 6 + 0 → 余数为 0,gcd = 6。
最小公倍数(LCM)
对两个正整数:lcm(a, b) = a × b ÷ gcd(a, b)。 例 lcm(12, 18) = 12 × 18 ÷ 6 = 36。多个数时逐步两两推广。
多个数
gcd(a, b, c) = gcd(gcd(a, b), c),逐步合并即可;LCM 同理。 例 gcd(12, 18, 30) = gcd(6, 30) = 6。
约分与通分
约分:分子/分母 同除以二者的 GCD 得最简分数(如 18/24 = 3/4,GCD=6)。通分:用各分母的 LCM 作公分母。
精度:全程用整数(BigInt)精确计算,不经过浮点,支持任意大整数, 所有计算在浏览器本地完成。
常见问题
- 最大公约数(GCD)是什么?怎么求?
- 最大公约数(GCD,又称 GCF 最大公因数、HCF 最高公因子)是能同时整除两个或多个整数的最大正整数。例如 12 和 18 的公约数有 1、2、3、6,其中最大的是 6,所以 gcd(12, 18) = 6。常用求法有三种:①辗转相除法(欧几里得算法):用大数除以小数取余数,再用除数除以余数,反复到余数为 0,最后的除数就是 GCD;②短除法:用公共质因数一层层去除;③分别质因数分解后取公共质因数的最低次幂相乘。本工具用辗转相除法精确计算,并把竖式步骤逐行列出。
- 最大公约数和最小公倍数(LCM)有什么关系?
- 对两个正整数 a、b,有恒等式 gcd(a, b) × lcm(a, b) = a × b,所以求出 GCD 后,lcm(a, b) = a × b ÷ gcd(a, b)。例如 gcd(12, 18) = 6,则 lcm(12, 18) = 12 × 18 ÷ 6 = 36。多个数时把这个公式逐步推广(先算前两个数的 LCM,再与第三个数求 LCM,依次类推)。注意这个乘积恒等式只对「两个数」成立;三个及以上不能直接套 a×b×c÷gcd,要逐步两两计算。本工具已自动处理。
- 怎么用最大公约数把分数约分到最简?
- 把分子和分母同时除以它们的最大公约数,就一步到位约成最简分数。例如 18/24:gcd(18, 24) = 6,18÷6=3、24÷6=4,所以 18/24 = 3/4。如果一个分数的分子分母互质(GCD=1),说明它已经是最简分数,不能再约。分数相加减时则用分母的最小公倍数(LCM)作公分母最方便,例如 1/12 + 1/18:lcm(12, 18) = 36,通分为 3/36 + 2/36 = 5/36。
- 两个数互质(互素)是什么意思?
- 若两个整数的最大公约数为 1,就称它们互质(互素),即除了 1 以外没有公因数。例如 8 和 15:8 = 2³、15 = 3×5,没有公共质因数,gcd(8, 15) = 1,所以互质。互质不要求两数本身是质数,例如 9 和 16 都是合数但互质。互质的两个数 a、b 的最小公倍数就等于它们的乘积 a×b(因为 LCM = a×b÷GCD = a×b÷1)。本工具会在结果里标注一组数是否互质。
- 可以一次求三个或更多数的最大公约数吗?负数和 0 怎么算?
- 可以。输入多个整数(空格或逗号分隔)即可,本工具按「先求前两个的 GCD,再与下一个求 GCD」逐步合并,结果与一次性求多个数的 GCD 一致。负数按绝对值计算,例如 gcd(-12, 18) = gcd(12, 18) = 6。含 0 时:gcd(0, n) = |n|(任何数都整除 0),但只要有一个数是 0,最小公倍数就是 0;若全部为 0,则最大公约数无定义,工具会提示出错。
- 计算结果精确吗?支持很大的数吗?
- 精确,且支持任意大的整数。本工具全程用整数(BigInt)做辗转相除,不经过 JavaScript 浮点数,因此再大的数也不会丢精度、不会有舍入误差。如果数字超过普通整数安全范围,直接把它当作一串数字输入即可(工具内部按大整数处理)。所有计算都在你的浏览器本地完成,不上传任何数据。