|
每次做完一道题, 都很希望能看到题目后面能有euler给出的文档。 每次看后都能有进一步的收获。
不过可惜的是很多题目都没有文档(也许是太简单了)
这次,文档中给出了通过一个数的质因数分解, 来得到因数和的方法。
在文档中只列出了代码, 具体的推导方法给出了链接: http://mathschallenge.net/index. ... ber/sum_of_divisors
简单的说,结论就是:
如果一个数的质因数分解是p^a,
则他的因数和(包括自身在内)是: (p^(a+1) - 1)/(p-1)
根据相乘性 σ(a×b×...)=σ(a)×σ(b)×...:
对于质因数分解p^a * q^b *....
则他的因数和(包括自身在内)是: (p^(a+1) - 1)/(p-1) * (q^(b+1) -1) /(q-1) * .....
链接中没有对可乘性进行证明,我来把这个证明补充一下:
设S=A*B, A= p^m, B=q^n, pq互质
则A的因数为: 1, p, p^2,.. ,p^m
B的因数为: 1, q, q^2,... , q^n
S的因数为: 1, p, p^2,.. ,p^m, q, q^2,... , q^n, p*(q, q^2,.... q^n), p^2 * (q, q^2,... q^m) + .... P^m(q, q^2,...q^n)
因为pq互质, 所以上面的除1以外的所有因数都互不相等,
所以S的因数和
σ(S) = 1 + (σ(A)-1) + (σ(B)-1) + p*(σ(B)-1) + p^2* (σ(B)-1) + p^m* (σ(B)-1)
= 1+ (σ(A)-1) + (1+p+p^2+... +P^n) * (σ(B)-1)
= 1+ (σ(A)-1) + (σ(A) * (σ(B)-1)
= σ(A) + σ(A) * (σ(B)-1) = σ(A) * σ(B)
[ 本帖最后由 tree_new_bee 于 2010-12-17 22:55 编辑 ] |
|