更多示例
示例 1:质数输入(29)
计算器只检验不大于该数平方根的除数。这里 \(\sqrt{29} \approx 5.39\),因此循环依次取 i = 1, 2, 3, 4, 5。
\(29 \bmod 1 = 0\),所以 1 是因数,得到数对 (1, 29)。
\(29 \bmod 2 = 1\),\(29 \bmod 3 = 2\),\(29 \bmod 4 = 1\),\(29 \bmod 5 = 4\)。这些结果都不为零,因此 2 至 5 都不是因数。
29 的因数:1, 29。恰好有两个因数,因此 29 是质数,其质因数分解就是 \(29\)。
示例 2:负数输入(−60)
因数定义为正除数,因此计算器取绝对值进行计算:\(|-60| = 60\)。由于 \(\sqrt{60} \approx 7.75\),循环取 i = 1 至 7。
i
60 mod i(余数)
找到的数对
1
0
(1, 60)
2
0
(2, 30)
3
0
(3, 20)
4
0
(4, 15)
5
0
(5, 12)
6
0
(6, 10)
7
4
—
按从小到大排列的因数:1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60(共 12 个)。质因数为 2、2、3、5,因为
$$60 = 2 \times 2 \times 3 \times 5 = 2^2 \times 3 \times 5$$
验算:\(2 \times 2 = 4\),\(4 \times 3 = 12\),\(12 \times 5 = 60\)。负数(−1、−2、…、−60)同样能整除 −60,但计算器只列出正因数。
示例 3:较大的非平方数(210)
由于 \(\sqrt{210} \approx 14.49\),循环检验 i = 1 至 14。能整除 210 的 i 值给出以下数对:
i(较小因数)
210 ÷ i(配对因数)
1
210
2
105
3
70
5
42
6
35
7
30
10
21
14
15
4、8、9、11、12 和 13 除不尽,因此不是因数。将较小因数与配对因数按顺序合并,即得完整列表:
1, 2, 3, 5, 6, 7, 10, 14, 15, 21, 30, 35, 42, 70, 105, 210(共 16 个)。
质因数分解:\(210 = 2 \times 3 \times 5 \times 7\)。回乘验算:\(2 \times 3 = 6\),\(6 \times 5 = 30\),\(30 \times 7 = 210\)。另外,因数个数公式给出 \((1+1)(1+1)(1+1)(1+1) = 16\),与列表一致。