OSDN Git Service

补充筛法求约数个数
authorljfcnyali <ljfcnyali@gmail.com>
Thu, 29 Aug 2019 13:12:08 +0000 (21:12 +0800)
committerljfcnyali <ljfcnyali@gmail.com>
Thu, 29 Aug 2019 13:12:08 +0000 (21:12 +0800)
docs/math/sieve.md

index 87c5c93..70e2c9f 100644 (file)
@@ -130,7 +130,15 @@ void pre() {
 
 用 $d_i$ 表示 $i$ 的约数个数, $num_i$ 表示 $i$ 的最小质因子出现次数
 
-我们知道若 $n=\prod_{i=1}^mp_i^{c_i}$ 则 $d_i=\prod_{i=1}^mc_i+1$ 同时 $d_i$ 是积性函数,所以可以使用线性筛
+#### 约数个数定理
+
+定理: 若 $n=\prod_{i=1}^mp_i^{c_i}$ 则 $d_i=\prod_{i=1}^mc_i+1$ 
+
+证明: 我们知道 $p_i^{c_i}$ 的约数有 $p_i^0,p_i^1,\cdots p_i^{c_i}$ 共有 $c_i+1$ 个,根据乘法原理,$n$ 的约数个数就是 $\prod_{i=1}^mc_i+1$
+
+#### 实现
+
+因为 $d_i$ 是积性函数,所以可以使用线性筛
 
 ```cpp
 void pre() {