数论

· · 个人记录

欧拉函数

欧拉函数 \varphi(n)1 \sim n-1 中与 n 互质的数的个数。

欧拉函数的性质:

  1. p 为质数,则 \varphi(p)=p-1
  2. p 为质数,k 为正整数,则 \varphi(p^k)=p^k-p^{k-1}=p^{k-1}(p-1)
  3. a,b 互质,则 \varphi(ab)= \varphi(a)\varphi(b),即欧拉函数是积性函数

欧拉函数的计算公式: \varphi(n) = n \prod\limits_{i=1}^s \frac{p_i-1}{p_i}

证明:设 n=\prod\limits_{i=1}^s p_i^{k_i},其中 p_i 为质数且互不相同,则 p_i^{k_i} 互质,由性质 3 可得 \varphi(n)=\prod\limits_{i=1}^s\varphi(p_i^{k_i})

再由性质 2 可得 \varphi(n)= \prod\limits_{i=1}^sp_i^{k_i-1}(p_i-1)=\prod\limits_{i=1}^sp_i^{k_i} \frac{p_i-1}{p_i}= n \prod\limits_{i=1}^s \frac{p_i-1}{p_i}

卷积

狄利克雷卷积:\sum \limits_{d \mid n} f(d)g(\frac{n}{d}).

$\sum \limits_{d \mid n} \mu(d)=[n=1] \iff \mu *1=\varepsilon$. $\sum \limits_{d \mid n} \mu(d) \frac{n}{d}=\varphi(n) \iff \mu *id= \varphi$. ## 莫比乌斯反演 ### 筛法莫比乌斯函数 ```cpp mu[1]=1; for(int i=2;i<=n;i++){ if(isprime[i]){ prime.push_back(i); mu[i]=-1; } for(int j=0;j<prime.size()&&i*prime[j]<=n;j++){ isprime[i*prime[j]]=0; if(!(i%prime[j])){ mu[i*prime[j]]=0; break; } mu[i*prime[j]]=-mu[i]; } } ``` ### 定义 $f(n)=\sum\limits_{d|n} g(d) \iff g(n)=\sum\limits_{d \mid n} \mu(d) f(\frac{n}{d})$. 证明: - 若 $f=g*1$,则 $ \mu * f=\mu *g*1=g* \mu *1 = g*\varepsilon =g$. - 若 $\mu *f=g$,则 $g*1=f*\mu * 1= \mu *1*f=f* \varepsilon =f$.