关于约数的一些性质
约数个数定理:
对于一个数 \(x\),他可以表示为 \(p_1^{k_1}p_2^{k_2}p_3^{k_3}...p_n^{k_n}\),\(p\) 表示质数。
那么 \(x\) 的约数个数即为 \(\prod_{i=1}^{n} (k_i+1)\)。
证明:
对于一个 \(x\) 的约数 \(y\),有 \(y=p_1^{t_1}p_2^{t_2}p_3^{t_3}...p_n^{t_n}\),\(p\) 表示质数。且 \(t_i\) 取值为 \([0,k_i]\)。又因为 \(y\) 的因子 \(x\) 都有,所以根据乘法原理,证毕。
区间内每个数约数和定理:
设 \(f(x)\) 表示 \(x\) 的约数个数,求 \(\sum_{i=1}^{n} f(x)\)。
分类讨论:
若 \(1\) 作为因数,则 \(ans+=n\),因为每一个数的因数的都有 \(1\)。
若 \(2\) 作为因数,则 \(ans+=\frac{n}{2}\),以为它只对 \(f(2|i)\) 产生贡献。
以此类推,对于 \(k\in [1,n]\),对于答案的贡献为 \(\frac {n}{k}\)。
所以 $\sum_{i=1}^{n} f(x)=\sum_{i=1}^{n} \left \lfloor \frac{n}{i} \right \rfloor $。
(可用于求解整除分块,例题;P3935)