【知识总结】约数个数定理和约数和定理及其证明
据说这俩是小学奥数内容?完了我菜成一团没上过小学
本文只研究正整数\(A\)的约数个数和约数和。首先对\(A\)分解质因数
\[A=\prod_i^n p_i^{a_i} \ (p_i是质数)
\]
约数个数定理
先看结论
\[num=\sum_i^n (a_i+1)
\]
考虑对于\(A\)的任意一个约数\(a\),都显然存在唯一的数列\(a'\)使
\[a=\prod_i^n p_i^{a'_i} \ (0 \leq a'_i \leq a_i)
\]
由唯一分解定理得,每一个符合条件的数列\(a'\)都对应\(A\)的一个约数,反之亦然。由乘法原理得共有\((a_1+1)*(a_2+1)...*(a_n+1)\)种数列\(a'\),得证。
约数和定理
同样先看结论:
\[sum=\prod_{i=1}^n\sum_{j=0}^{a_i}p_i^j
\]
首先考虑\(n=1\)的情况,即\(A=p^a \ (p是质数)\),显然约数和是\(\sum_{i=0}^{a}p^i\)
当\(n>1\),如果已知了\(x=A/{p_n^{a_n}}\)的约数和\(sum'\),如何求\(A\)的约数和\(sum\)呢?
显然,给每个\(x\)的约数\(x'\)均乘上每一个\(p_n^i \ (0 \leq i \leq a_n)\),就构成了\(A\)的约数集合。那么就得到
\[sum=\sum \left(x'*\sum _{i=0}^{a_n}p_n^i\right)
\]
由乘法分配律得到
\[sum=sum'*\sum _{i=0}^{a_n}p_n^i
\]
又由当\(n=1\)时\(sum=\sum_{i=0}^{a}p^i\)递推得到最终的结论。