數論函式學習筆記之線性篩

2022-05-09 11:18:11 字數 1785 閱讀 9361

其實主要是想發一下線性篩的板子,包括線性篩質數,約數個數,尤拉函式和莫比烏斯函式。

有些也會有一點簡單的證明。

線性篩質數就不說啦。

然後加乙個篩尤拉函式。

當\(i\)為質數的時候,自然\(\varphi(i) = i - 1\)。

令\(n = mp\),

當\(p \nmid m\)的時候,有\(\varphi(n) = \varphi(m) * \varphi(p) = \varphi(m) * (p - 1)\)。

否則有\(\varphi(n) = \varphi(m) * p\)。

證明一下吧:

首先\(p \nmid m\)時,根據積性,\(\varphi(n) = \varphi(m) * (p - 1)\)。

考慮另一種情況,

若\(p \mid m\),令\(m = k * p ^ x\),這樣保證了\(k, p\)互質。

所以\[\begin

\varphi(n)

&= \varphi(k) * \varphi(p ^ ) \\

&= \varphi(k) * p ^ x * (p - 1) \\

\end

\]然後看等式右邊:

\[\begin

\varphi(m) * p

&= \varphi(k) * \varphi(p ^ x) * p \\

&= \varphi(k) * p ^ * (p - 1) * p \\

&= \varphi(k) * p ^ x * (p - 1)

\end

\](也不知道這算不算證明)

另一種證明\(\varphi(n) = \varphi(m) * p\)的方法是把\(\varphi(n)\)和\(\varphi(m)\)相除,並用\(\varphi(n) = n * \prod_ (1 - \frac)\)開啟,約分後就是\(p\)了。

至於篩莫比烏斯函式,就更簡單了。

如果\(n\)為質數,則\(\mu(n) = -1\)。

若\(p \mid m\),則\(\mu(n) = 0\),

否則\(\mu(n) = - \mu(m)\)。

最後是篩約數個數。

首先得知道這幾個理論基礎:

1.記\(n = \prod p _ i ^ \),那麼\(n\)的約數個數為\(\prod (a_i + 1)\),就是列舉每乙個約數選幾個。

2.線篩的時候,每乙個數是被他的最小素因子篩去,如果\(prime[j] \mid i\),那麼\(prime[j]\)也是\(i\)的最小素因子。

我們令\(y[n]\)表示\(n\)的約數個數,\(d[n]\)表示\(n\)的最小素因子的個數。

那麼,1.如果\(n\)為質數,顯然有\(y[n] = 2, d[n] = 1\)。

2.如果\(n\)為合數,令\(n = i *prime[j]\),

(1)如果\(prime[j] \nmid i\),那麼\(d[n] = 1, y[n] = y[i] * y[prime[j]] = y[i] * 2\)(積性)。

(2)如果\(prime[j] \mid i\),那麼\(n\)和\(i\)的最小素因子都是\(prime[j]\),且\(d[n] = d[i] + 1\)。這時候算約數個數,把原來的除掉,乘以新的貢獻即可:\(y[n] = y[i] * \frac\)。

in void init()

for(int j = 1; j <= pcnt && i * prim[j] < maxn; ++j)

else

}}}

線性篩尤拉函式學習筆記

我回來了,在被模板蹂躪之後。預先規定 參考篩素數的線性篩,當篩到數字 i 時,小於 i 的數的尤拉函式和小於 i 的質數已經篩出,利用 i 和 s 向後更新。對於數字 i 如果此時 f i 0 說明這個數的最小質因數不會在 left 2,i 1 right 的範圍內出現,也易得數字 i 是個質數,根...

數學板塊學習之埃氏篩法與線性篩

埃氏篩法簡單說就是先列出2 n的值,其中遇見第乙個素數2,於是將所有2的倍數刪去,繼續往下走,下乙個素數是3,再將所有3的倍數刪去。int prime maxn 10 bool vis maxn 10 int tot 0 void init 相對於埃氏篩法中對每個素數我們都將其倍數篩去,也就導致有許...

數論學習筆記之尤拉函式

最近又開始搞數論了 今天是尤拉函式,對於一些性質或定理,我可能會證明啥的 首先尤拉函式 varphi n 指不超過 n 與 n 互素的數的個數。比如 varphi 8 4 性質 對於 n ldots 有 varphi n varphi varphi varphi ldots varphi 然後就是各...