通过MCP连接 →

输入计算

数学公式

广告

结果

Factor Pairs of 36
5
对因数
(1 × 36), (2 × 18), (3 × 12), (4 × 9), (6 × 6)
数字 (N) 36
因数对数量 5
约数总数 9

什么是因数对?

一个数 N 的因数对,是指两个相乘正好等于 N 的整数组合。以 12 为例,它的因数对有 \((1 \times 12)\)、\((2 \times 6)\) 和 \((3 \times 4)\)。任何正整数都至少有一个因数对,也就是 \((1 \times N)\)。把所有因数对找全,就能完整看清这个数的约数结构——这对约分、对代数式进行因式分解,以及区分质数与合数都很有帮助。

由 a 乘 b 单位正方形网格组成的矩形,显示面积等于 N
因数对 (a, b) 对应一个用单位正方形铺成的面积为 N 的矩形。

如何使用本计算器

在“数字 (N)”输入框中填入任意正整数,然后提交即可。计算器会返回每一对互不重复的因数对、因数对的总数,以及约数的总个数。质数只会得到一个因数对 \((1 \times N)\);完全平方数则会出现两个因数相等的一对,例如 36 对应的 \((6 \times 6)\)。

计算原理详解

我们要找出所有满足 \(a \times b = N\) 的 (a, b) 组合。与其逐一检查从 1 到 N 的每个数,我们只需测试从 1 到 N 的平方根之间的候选数。只要某个 a 能整除 N,它的“搭档” \(b = N/a\) 自然也是约数,于是一步就能锁定一整对因数。正因如此,整个查找过程的时间复杂度为 \(O(\sqrt{N})\),即使面对很大的数也依然飞快。

$$\{(a,\,b)\ :\ a \times b = \text{N},\ \ 1 \le a \le \sqrt{\text{N}}\}$$
Advertisement
从 1 到 N 的数轴,在 N 的平方根处有标记,显示因数 a 的搜索范围
只需测试不超过 √N 的 a 值;每个值都对应其配对 b = N/a。

实例演算

以 \(N = 36\) 为例,它的平方根是 6。我们依次测试 \(a = 1、2、3、4、6\)(也就是 6 以内的约数):\(36 \div 1 = 36\)、\(36 \div 2 = 18\)、\(36 \div 3 = 12\)、\(36 \div 4 = 9\)、\(36 \div 6 = 6\)。这样就得到因数对 \((1 \times 36)\)、\((2 \times 18)\)、\((3 \times 12)\)、\((4 \times 9)\) 和 \((6 \times 6)\)——共 5 对因数,9 个约数。

常见问题

如果输入的是质数会怎样?你只会得到一个因数对 \((1 \times N)\),这正好印证了它是质数。

为什么完全平方数的因数对数会不一样?完全平方数会出现像 \((6 \times 6)\) 这样两个因数完全相同的一对,因此它算作一对因数对,但约数 6 在约数总数中只计一次。

这里会包含负因数吗?不会——本计算器只列出正因数对,这也是通用的约定。

最后更新: