OSDN Git Service
(root)
/
oi-wiki
/
main.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a047ab8
)
补充筛法求约数个数
author
ljfcnyali
<ljfcnyali@gmail.com>
Thu, 29 Aug 2019 13:12:08 +0000
(21:12 +0800)
committer
ljfcnyali
<ljfcnyali@gmail.com>
Thu, 29 Aug 2019 13:12:08 +0000
(21:12 +0800)
docs/math/sieve.md
patch
|
blob
|
history
diff --git
a/docs/math/sieve.md
b/docs/math/sieve.md
index
87c5c93
..
70e2c9f
100644
(file)
--- a/
docs/math/sieve.md
+++ b/
docs/math/sieve.md
@@
-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() {