约数求和
题目:给定任意正整数n,求n的所有约数的和
前提引入
正整数1024的所有约数的和为多少?
1024 = 2 10 = 2 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 2 \begin{align*} 1024 &= 2^{10}\\ &= 2 \cdot2 \cdot2 \cdot2 \cdot2 \cdot2 \cdot2 \cdot2 \cdot2 \cdot2 \end{align*} 1024=210=2⋅2⋅2⋅2⋅2⋅2⋅2⋅2⋅2⋅2
1024的约数和为:
2 0 + 2 1 + 2 2 + 2 3 + 2 4 + 2 5 + 2 6 + 2 7 + 2 8 + 2 9 + 2 10 2^0 + 2^1 + 2^2 +2^3+ 2^4+2^5+2^6+2^7+2^8+2^9+2^{10} 20+21+22+23+24+25+26+27+28+29+210
那么我们可以使用等比数列求和公式进行求解:
1 − x n + 1 1 − x = 1 − 2 11 1 − 2 \frac{1 - x^{n + 1}}{1-x}=\frac{1 - 2^{11}}{1-2} 1−x1−xn+1=1−21−211
因此,1024的所有约数和为:2047
但是,若给定任意正整数n,求n的所有约数和,如我们所知并不是所有的n都可以写出形如1024的形式,那么如何处理呢?
在了解质因数分解定理前,我们先了解一下质数和合数:
质数与合数
Q:为什么1不是素数?
A:因为质因数分解有唯一分解定理——将某个正整数n分解质因数时,其形式是唯一的
比如:
24 = 2 ⋅ 2 ⋅ 2 ⋅ 3 24 = 2 \cdot 2 \cdot 2 \cdot 3 24=2⋅2⋅2⋅3
将上式2和3调换位置时,只是质因数的顺序不同,但仍是同一种形式
2 ⋅ 2 ⋅ 2 ⋅ 3 = 3 ⋅ 2 ⋅ 2 ⋅ 2 2\cdot2\cdot2\cdot3 = 3\cdot2\cdot2\cdot2 2⋅2⋅2⋅3=3⋅2⋅2⋅2
但是,若1是素数的话,唯一分解定理就不成立了
2 ⋅ 2 ⋅ 2 ⋅ 3 1 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 3 1 ⋅ 1 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 3 ⋅ ⋅ ⋅ \begin{aligned} 2 \cdot 2 \cdot 2 \cdot 3 \\ 1 \cdot 2 \cdot 2 \cdot 2 \cdot 3 \\ 1 \cdot 1 \cdot 2 \cdot 2 \cdot 2 \cdot 3 \\ ·\\ ·\\ · \end{aligned} 2⋅2⋅2⋅31⋅2⋅2⋅2⋅3