通过MCP连接 →

输入计算

输入整数,用逗号分隔

数学公式

数学公式: 公因数与最大公因数(GCF)计算器
Show calculation steps (1)
  1. Common Factors

    Common Factors: 公因数与最大公因数(GCF)计算器

    The common factors of a set are exactly the divisors of the GCF.

广告

结果

最大公因数
8
GCF(最大公约数)
The factors of 16 are: 1, 2, 4, 8, 16
The factors of 24 are: 1, 2, 3, 4, 6, 8, 12, 24
The factors of 64 are: 1, 2, 4, 8, 16, 32, 64
The factors of 136 are: 1, 2, 4, 8, 17, 34, 68, 136
公因数为: 1, 2, 4, 8

这个计算器能做什么

输入两个或多个正整数后,本工具会一次性给出三项结果:每个数字的完整因数(约数)列表、所有数字共有的公因数,以及最大公因数(GCF),也就是我们常说的最大公约数(GCD)。无论是化简分数、分解算式,还是数论作业,它都能帮上忙。

两个相交的圆显示两个数的因数,公共因数在中间
公因数是所有数共有的约数,其中最大的就是最大公因数(GCF)。

使用方法

用逗号分隔输入各个整数,例如 136, 64, 24, 16,即可查看结果。每个数字的因数会按从小到大的顺序列出,随后显示公共因数和唯一的最大公因数。请只输入正整数,0、负数和小数都不是有效的约数输入。

公式原理

当 \(n \bmod d = 0\) 时,整数 \(d\) 就是 \(n\) 的一个因数。为了快速找出全部因数,我们让 \(i\) 从 1 取到 \(n\) 的平方根:每当 \(i\) 能整除 \(n\),那么 \(i\) 和 \(n/i\) 都是它的因数。求一组数字的最大公因数时,可以两两套用欧几里得算法(辗转相除法):当 \(b\) 不为 0 时,把 \((a, b)\) 替换为 \((b, \; a \bmod b)\),最终剩下的 \(a\) 就是最大公约数。$$\gcd(a, 0) = a, \quad \gcd(a, b) = \gcd(b, \; a \bmod b)$$ 一个实用的结论是:整组数字的公因数,恰好就是它们最大公因数的所有约数。 $$\text{CommonFactors} = \{\, d : g \bmod d = 0 \,\}, \quad g = \gcd(n_1, n_2, \dots)$$

Advertisement
欧几里得算法的流程图,不断用余数替换数字
欧几里得算法不断把 \((a, b)\) 替换为 \((b, \; a \bmod b)\),直到 \(b\) 变为 0。

实例演示

以 136、64、24、16 为例:16 的因数是 1、2、4、8、16;24 的因数是 1、2、3、4、6、8、12、24;64 的因数是 1、2、4、8、16、32、64;136 的因数是 1、2、4、8、17、34、68、136。用欧几里得算法可得 \(\gcd(16, 24) = 8\),再算 \(\gcd(8, 64) = 8\),接着 \(\gcd(8, 136) = 8\),所以最大公因数 \(\text{GCF} = 8\)。而 8 的约数为 1、2、4、8——这正是它们的公因数。

常见问题

GCF 和 GCD 是一回事吗?是的。“最大公因数”(GCF)和“最大公约数”(GCD)只是同一个值的两种叫法。

如果这些数字没有共同因数怎么办?任何一组正整数都至少共有因数 1,所以公因数至少是 {1},最大公因数也至少为 1。如果几个数字唯一的公因数就是 1,它们就被称为“互质”(互素)。

只输入一个数字可以吗?可以——此时会列出它的全部因数,而最大公因数就等于这个数字本身。

最后更新: