通过MCP连接 →

输入计算

数学公式

数学公式: 因数与因数对计算器
Show calculation steps (1)
  1. Trial division bound

    Trial division bound: 因数与因数对计算器

    Only test divisors up to the square root of the number; each i yields its pair m/i

广告

结果

Number of factors of 48
10
个不同的因数

Factors of 48

1, 2, 3, 4, 6, 8, 12, 16, 24, 48

Factor pairs of 48

1 × 48 = 48 2 × 24 = 48 3 × 16 = 48 4 × 12 = 48 6 × 8 = 48

这个计算器能做什么

这个工具可以求出一个整数的全部因数(约数),并列出它所有的因数对——也就是相乘后能得到该数的两个数的组合。所谓整数的因数,是指能将它整除、不留余数的整数。而因数对,就是相乘后等于原数的那两个因数,例如 \(6 \times 8 = 48\)。

使用方法

在输入框中填入任意一个非零整数(正数或负数皆可),然后提交。计算器会返回三项内容:该数共有多少个因数、按从小到大排列的完整因数列表,以及每一组写成 \(a \times b = n\) 形式的因数对。对于负数,结果会显示带符号的因数对,因为负数的乘积需要一个负因数搭配一个正因数。

计算原理

计算器采用试除法。设 \(n\) 为你输入的数,\(m = |n|\) 是它的绝对值。程序只需检验从 1 到 \(\left\lfloor \sqrt{m} \right\rfloor\) 范围内的候选因数 \(i\)。每当 \(m\) 除以 \(i\) 的余数为 0 时,\(i\) 和 \(\tfrac{m}{i}\) 都是因数,二者一起组成因数对 $$m \bmod i = 0 \;\Rightarrow\; i \text{ 和 } \tfrac{m}{i} \text{ 是因数}$$ $$i = 1, 2, \dots, \left\lfloor \sqrt{m} \right\rfloor$$ 只检验到 \(\sqrt{m}\) 为止能让搜索变得高效,因为每一个大于平方根的因数,都会自动与一个小于平方根的因数配成对。对于完全平方数,它的平方根只列出一次,但会显示为与自身相乘的因数对。

Advertisement
数字 24 被分成乘积等于它本身的因数对
24 的因数对:每一对相乘都等于原数。

实例演示

以 \(n = 48\) 为例,它的平方根约为 6.93,所以我们只需检验 \(i = 1\) 到 6。我们能找到 \(1 \times 48\)、\(2 \times 24\)、\(3 \times 16\)、\(4 \times 12\) 和 \(6 \times 8\)(5 无法整除 48)。因数列表为 1、2、3、4、6、8、12、16、24、48——总共 10 个因数。

用矩形网格将一个数的因数对表示为面积排列
每个因数对都可以画成一个面积等于该数的矩形。

常见问题

为什么不能输入 0? 任何整数都能整除 0,因此 0 会有无穷多个因数。请改输入一个非零整数。

负数是怎么计算的? 以 -6 为例,乘积必须为负,因此每一组正因数对都会拆成两组带符号的因数对:\(-1 \times 6\)、\(1 \times -6\)、\(-2 \times 3\)、\(2 \times -3\)。

这里所说的质数是什么? 质数恰好只有两个因数:1 和它本身,例如 7 的因数为 1 和 7。

最后更新: