这个计算器能做什么
输入两个或多个正整数后,本工具会一次性给出三项结果:每个数字的完整因数(约数)列表、所有数字共有的公因数,以及最大公因数(GCF),也就是我们常说的最大公约数(GCD)。无论是化简分数、分解算式,还是数论作业,它都能帮上忙。
使用方法
用逗号分隔输入各个整数,例如 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)$$
实例演示
以 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,它们就被称为“互质”(互素)。
只输入一个数字可以吗?可以——此时会列出它的全部因数,而最大公因数就等于这个数字本身。