积性函数
符号
( m , n ) \ (m,n) (m,n)最大公约数
[ m , n ] \ [m,n] [m,n]最小公倍数
m ∣ a , m 整 除 a \ m|a,m整除a m∣a,m整除a
若无明确说明, p \ p p指素数
什么是积性函数
我们设数论函数
f
(
x
)
,
定
义
域
S
,
m
,
n
∈
S
\ f(x),定义域S,m,n \in S
f(x),定义域S,m,n∈S.
f
(
m
)
f
(
n
)
=
f
(
m
n
)
,
(
m
,
n
)
=
1
⇒
f
(
x
)
是
积
性
函
数
f
(
m
)
f
(
n
)
=
f
(
m
n
)
⇒
f
(
x
)
是
完
全
积
性
的
f(m)f(n)=f(mn)\, , \, (m,n)=1 \Rightarrow f(x)是积性函数 \\ \,\\\,\\ f(m)f(n)=f(mn) \Rightarrow f(x)是完全积性的
f(m)f(n)=f(mn),(m,n)=1⇒f(x)是积性函数f(m)f(n)=f(mn)⇒f(x)是完全积性的
可以证明有很多积性函数。例如:
f
(
n
)
=
n
k
完
全
积
性
f
(
n
)
=
n
−
k
完
全
积
性
f
(
n
)
=
e
2
π
i
a
n
m
仅
当
m
∣
a
时
积
性
f
(
n
)
=
1
完
全
积
性
f(n)=n^{k} \,\,\,\,\,\,\,\,\,完全积性 \\ f(n)=n^{-k} \,\,\,\,\,\,\,\,\,完全积性 \\ f(n)=e^{2 \pi i a \frac{n}{m}} \,\,\,\,\,\,\,\,\,仅当m|a时积性 \\ f(n)=1 完全积性
f(n)=nk完全积性f(n)=n−k完全积性f(n)=e2πiamn仅当m∣a时积性f(n)=1完全积性
定理
设
f
(
n
)
\ f(n)
f(n)。
n
=
p
1
a
1
p
2
a
2
⋯
p
r
a
r
n=p_{1}^{a_{1}}p_{2}^{a_{2}} \cdots p_{r}^{a_{r}}
n=p1a1p2a2⋯prar
f
(
1
)
=
1
,
f
(
n
)
=
f
(
p
1
a
1
)
f
(
p
2
a
2
)
⋯
f
(
p
r
a
r
)
⇔
f
(
n
)
积
性
f(1)=1\,\,\,,\,\,\,f(n)=f(p_{1}^{a_{1}})f(p_{2}^{a_{2}}) \cdots f(p_{r}^{a_{r}}) \Leftrightarrow f(n)积性
f(1)=1,f(n)=f(p1a1)f(p2a2)⋯f(prar)⇔f(n)积性
f
(
1
)
=
1
,
f
(
n
)
=
f
a
1
(
p
1
)
f
a
2
(
p
2
)
⋯
f
a
r
(
p
r
)
⇔
f
(
n
)
完
全
积
性
f(1)=1 \,\,\,,\,\,\,f(n)=f^{a_{1}}(p_{1})f^{a_{2}}(p_{2}) \cdots f^{a_{r}}(p_{r}) \Leftrightarrow f(n)完全积性
f(1)=1,f(n)=fa1(p1)fa2(p2)⋯far(pr)⇔f(n)完全积性
证明是显然的。
必要性
0
=
≠
f
(
n
0
)
=
f
(
1
⋅
n
0
)
=
f
(
1
)
⋅
f
(
n
0
)
0 = \neq f(n_{0})=f(1 \cdot n_{0})=f(1) \cdot f(n_{0})
0==f(n0)=f(1⋅n0)=f(1)⋅f(n0)
这就推出
f
(
1
)
=
1
\ f(1)=1
f(1)=1
其他可由积性函数的定义推出。
充分性
(
m
,
n
)
=
1
\ (m,n)=1
(m,n)=1
n
=
p
1
a
1
p
2
a
2
⋯
p
s
a
s
\ n=p_{1}^{a_{1}}p_{2}^{a_{2}} \cdots p_{s}^{a_{s}}
n=p1a1p2a2⋯psas
m
=
q
1
b
1
q
2
b
2
⋯
q
r
a
r
\ m=q_{1}^{b_{1}}q_{2}^{b_{2}} \cdots q_{r}^{a_{r}}
m=q1b1q2b2⋯qrar
f
(
m
n
)
=
f
(
q
1
b
1
q
2
b
2
⋯
q
r
a
r
p
1
a
1
p
2
a
2
⋯
p
s
a
s
)
\ f(mn)=f(q_{1}^{b_{1}}q_{2}^{b_{2}} \cdots q_{r}^{a_{r}} p_{1}^{a_{1}}p_{2}^{a_{2}} \cdots p_{s}^{a_{s}} )
f(mn)=f(q1b1q2b2⋯qrarp1a1p2a2⋯psas)
=
f
(
q
1
b
1
)
f
(
q
2
b
2
)
⋯
f
(
q
r
a
r
)
f
(
p
1
a
1
)
f
(
p
2
a
2
)
⋯
f
(
p
s
a
s
)
\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,=f(q_{1}^{b_{1}})f(q_{2}^{b_{2}}) \cdots f(q_{r}^{a_{r}}) f(p_{1}^{a_{1}})f(p_{2}^{a_{2}}) \cdots f(p_{s}^{a_{s}})
=f(q1b1)f(q2b2)⋯f(qrar)f(p1a1)f(p2a2)⋯f(psas)
=
f
(
m
)
f
(
n
)
\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,=f(m)f(n)
=f(m)f(n)
这就证明了积性。
完全积性的证明也是类似的方法。
n
=
p
1
a
1
p
2
a
2
⋯
p
s
a
r
\ n=p_{1}^{a_{1}}p_{2}^{a_{2}} \cdots p_{s}^{a_{r}}
n=p1a1p2a2⋯psar
m
=
p
1
b
1
p
2
b
2
⋯
p
r
b
r
\ m=p_{1}^{b_{1}}p_{2}^{b_{2}} \cdots p_{r}^{b_{r}}
m=p1b1p2b2⋯prbr
f
(
m
n
)
=
f
(
p
1
a
1
+
b
1
p
2
a
2
+
b
2
⋯
p
s
a
r
+
b
r
)
\ f(mn)=f(p_{1}^{a_{1}+b_{1}}p_{2}^{a_{2}+b_{2}} \cdots p_{s}^{a_{r}+b_{r}} )
f(mn)=f(p1a1+b1p2a2+b2⋯psar+br)
=
f
a
1
+
b
1
(
p
1
)
f
a
2
+
b
2
(
p
2
)
⋯
f
a
r
+
b
r
\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,=f^{a_{1}+b_{1}}(p_{1})f^{a_{2}+b_{2}}(p_{2}) \cdots f^{a_{r}+b_{r}}
=fa1+b1(p1)fa2+b2(p2)⋯far+br
=
f
a
1
(
p
1
)
f
a
2
(
p
2
)
⋯
f
a
r
(
p
r
)
f
b
1
(
p
1
)
f
b
2
(
p
2
)
⋯
f
b
r
f
(
p
r
)
\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,=f^{a_{1}}(p_{1})f^{a_{2}}(p_{2}) \cdots f^{a_{r}}(p_{r})f^{b_{1}}(p_{1})f^{b_{2}}(p_{2}) \cdots f^{b_{r}}f(p_{r})
=fa1(p1)fa2(p2)⋯far(pr)fb1(p1)fb2(p2)⋯fbrf(pr)
=
f
(
n
)
f
(
m
)
\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,= f(n)f(m)
=f(n)f(m)
重要积性函数 = = = = = ⇒ \ = = = = = \Rightarrow =====⇒欧拉函数
φ
(
x
)
\ \varphi(x)
φ(x),即欧拉函数,代表
1
−
x
\ 1-x
1−x中与
x
\ x
x互质的数的个数。
显然我们得到一个重要性质。
p
∈
Q
⇔
φ
(
p
)
=
p
−
1
p \in Q \Leftrightarrow \varphi(p)=p-1\\
p∈Q⇔φ(p)=p−1
定理
定理1
m
=
m
1
m
2
,
(
m
1
,
m
2
)
>
1
⇒
φ
(
m
)
=
m
2
φ
(
m
1
)
=
m
1
φ
(
m
2
)
m
=
m
1
m
2
,
(
m
1
,
m
2
)
=
1
⇒
φ
(
m
)
=
φ
(
m
1
)
φ
(
m
2
)
m=m_{1}m_{2}\,\,\,,\,\,\,(m_{1},m_{2})>1 \Rightarrow \varphi(m)=m_{2} \varphi(m_{1})=m_{1} \varphi(m_{2}) \\ m=m_{1}m_{2}\,\,\,,\,\,\,(m_{1},m_{2})=1 \Rightarrow \varphi(m)=\varphi(m_{1}) \varphi(m_{2}) \\\,
m=m1m2,(m1,m2)>1⇒φ(m)=m2φ(m1)=m1φ(m2)m=m1m2,(m1,m2)=1⇒φ(m)=φ(m1)φ(m2)
对于第一条
m
1
,
m
2
\ m_{1},m_{2}
m1,m2具有的素数种类相同
特别的,我们可以推出:
m = p 1 a 1 p 2 a 2 ⋯ p r a r a j > = 1 φ ( m ) = p 1 a 1 − 1 p 2 a 2 − 1 ⋯ p r a r − 1 φ ( p 1 p 2 ⋯ p r ) φ ( m ) = p 1 a 1 − 1 ( p 1 − 1 ) p 2 a 2 − 1 ( p 2 − 1 ) ⋯ p r a r − 1 ( p r − 1 ) = m ∏ p ∣ m ( 1 − 1 p ) ( 1 ) m=p_{1}^{a_{1}} p_{2}^{a_{2}} \cdots p_{r}^{a_{r}}\,\,\,a_{j}>=1 \\ \varphi(m)=p_{1}^{a_{1}-1} p_{2}^{a_{2}-1} \cdots p_{r}^{a_{r}-1} \varphi(p_{1} p_{2} \cdots p_{r}) \\ \varphi(m)=p_{1}^{a_{1}-1}(p_{1}-1) p_{2}^{a_{2}-1}(p_{2}-1) \cdots p_{r}^{a_{r}-1}(p_{r}-1)=m \prod_{p|m} (1- \frac{1}{p}) \,\,\,\,\,\,(1) m=p1a1p2a2⋯praraj>=1φ(m)=p1a1−1p2a2−1⋯prar−1φ(p1p2⋯pr)φ(m)=p1a1−1(p1−1)p2a2−1(p2−1)⋯prar−1(pr−1)=mp∣m∏(1−p1)(1)
证明这个定理需要前置技能既约剩余系。(或者就记下来。)欧拉函数就是既约剩余系元素的个数。
形象的理解就是区间可以被分为很多分,如果区间数与区间长度不互质,那么每一个区间与
m
\ m
m互质的相等,否则就会有影响。
我们也可以用这个定理推出一点点小结论:
φ ( 1 ) = φ ( 2 ) = 1 \ \varphi(1)= \varphi(2)=1 φ(1)=φ(2)=1所以
2 ∣ φ ( m ) ⇒ m ≥ 3 2| \varphi(m) \Rightarrow m \ge 3 2∣φ(m)⇒m≥3
和
m = m 1 m 2 ⋯ m s , ( m i , m j ) = 1 , 0 ≤ i < j ≤ s ⇒ φ ( m ) = φ ( m 1 ) φ ( m 2 ) ⋯ φ ( m s ) ( 2 ) m=m_{1}m_{2} \cdots m_{s}\,\,\,,\,\,\,(m_{i},m_{j})=1\,\,\,,\,\,\,0 \le i < j \le s \\ \Rightarrow \varphi(m)= \varphi(m_{1}) \varphi(m_{2}) \cdots \varphi(m_{s})\,\,\,\,\,\,\,\,\,(2) m=m1m2⋯ms,(mi,mj)=1,0≤i<j≤s⇒φ(m)=φ(m1)φ(m2)⋯φ(ms)(2)
定理2
∑
d
∣
m
φ
(
d
)
=
m
;
\sum_{d|m} \varphi(d)=m;
d∣m∑φ(d)=m;
证明方法很多,现在给出一种证明方法:
m = 1 时 显 然 成 立 m=1时显然成立 m=1时显然成立
m > 1 m = p 1 a 1 p 2 a 2 ⋯ p r a r m>1 \\ m=p_{1}^{a_{1}} p_{2}^{a_{2}} \cdots p_{r}^{a_{r}} m>1m=p1a1p2a2⋯prar
∑ d ∣ m φ ( d ) = ∑ e 1 = 0 a 1 ∑ e 2 = 0 a 2 ⋯ ∑ e r a r φ ( p 1 e 1 p 2 e 2 ⋯ p r e r ) \sum_{d|m} \varphi(d)=\sum_{e_{1}=0}^{a_{1}} \sum_{e_{2}=0}^{a_{2}} \cdots \sum_{e_{r}}^{a_{r}} \varphi(p_{1}^{e_{1}} p_{2}^{e_{2}} \cdots p_{r}^{e_{r}}) d∣m∑φ(d)=e1=0∑a1e2=0∑a2⋯er∑arφ(p1e1p2e2⋯prer)
利用 ( 2 ) \ (2) (2)式得:
∑ d ∣ m φ ( d ) = ( ∑ e 1 = 0 a 1 φ ( p 1 e 1 ) ) ( ∑ e 2 = 0 a 2 φ ( p 2 e 2 ) ) ⋯ ( ∑ e r = 0 a r φ ( p r e r ) ) \sum_{d|m} \varphi(d)=(\sum_{e_{1}=0}^{a_{1}} \varphi(p_{1}^{e_{1}}))(\sum_{e_{2}=0}^{a_{2}} \varphi(p_{2}^{e _{2}})) \cdots (\sum_{e_{r}=0}^{a_{r}} \varphi(p_{r}^{e_{r}})) d∣m∑φ(d)=(e1=0∑a1φ(p1e1))(e2=0∑a2φ(p2e2))⋯(er=0∑arφ(prer))
又根据定理1
∑ e i = 0 a i φ ( p i e i ) = 1 + ( p − 1 ) + ( p 2 − p ) + ⋯ + ( p i a i − p i a i − 1 ) = p i a i \sum_{e_{i}=0}^{a_{i}} \varphi(p_{i}^{e_{i}})=1+(p-1)+(p^{2}-p)+ \cdots +(p_{i}^{a_{i}}-p_{i}^{a_{i}-1})=p_{i}^{a_{i}} ei=0∑aiφ(piei)=1+(p−1)+(p2−p)+⋯+(piai−piai−1)=piai
∑ d ∣ m φ ( d ) = ( ∑ e 1 = 0 a 1 φ ( p 1 e 1 ) ) ( ∑ e 2 = 0 a 2 φ ( p 2 e 2 ) ) ⋯ ( ∑ e r = 0 a r φ ( p r e r ) ) = p 1 a 1 p 2 a 2 ⋯ p r a r = m \sum_{d|m} \varphi(d)=(\sum_{e_{1}=0}^{a_{1}} \varphi(p_{1}^{e_{1}}))(\sum_{e_{2}=0}^{a_{2}} \varphi(p_{2}^{e _{2}})) \cdots (\sum_{e_{r}=0}^{a_{r}} \varphi(p_{r}^{e_{r}}))=p_{1}^{a_{1}} p_{2}^{a_{2}} \cdots p_{r}^{a_{r}}=m d∣m∑φ(d)=(e1=0∑a1φ(p1e1))(e2=0∑a2φ(p2e2))⋯(er=0∑arφ(prer))=p1a1p2a2⋯prar=m
证毕
定理3
( a , m ) = 1 ⇒ a φ ( m ) ≡ 1 ( m o d m ) (a,m)=1 \Rightarrow a^{\varphi(m)} \equiv 1\pmod{m} (a,m)=1⇒aφ(m)≡1(modm)
特别的
a p ≡ a ( m o d m ) , p ∈ Q a^{p} \equiv a (mod \,\,m)\,\,\,,\,\,\,p \in Q ap≡a(modm),p∈Q
我们设一组既约剩余系 r 1 , r 2 , ⋯ r φ ( m ) \ r_{1},r_{2}, \cdots r_{\varphi(m)} r1,r2,⋯rφ(m),当 ( a , m ) = 1 \ (a,m)=1 (a,m)=1, a r 1 , a r 2 , ⋯ a r φ ( m ) \ ar_{1},ar_{2}, \cdots ar_{ \varphi(m)} ar1,ar2,⋯arφ(m)也是一组既约剩余系。可以得到:
∏ j = 1 φ ( m ) r j ≡ ∏ j = 1 φ ( m ) ( a r j ) ≡ a φ ( m ) ∏ j = 1 φ ( m ) r j ( m o d m ) \prod_{j=1}^{\varphi(m)}r_{j} \equiv \prod_{j=1}^{\varphi(m)}(ar_{j}) \equiv a^{\varphi(m)}\prod_{j=1}^{\varphi(m)} r_{j}\pmod{m} j=1∏φ(m)rj≡j=1∏φ(m)(arj)≡aφ(m)j=1∏φ(m)rj(modm)
去掉 ∏ j = 1 φ ( m ) r j \ \prod_{j=1}^{\varphi(m)} r_{j} ∏j=1φ(m)rj得
1 ≡ a φ ( m ) ( m o d m ) 1 \equiv a^{\varphi(m)}\pmod{m} 1≡aφ(m)(modm)
证毕
我们在求逆元时就可以用这个公式:
a − 1 ≡ a φ ( m ) − 1 ( m o d m ) a^{-1} \equiv a^{\varphi(m)-1}\pmod{m} a−1≡aφ(m)−1(modm)
对此我们可以引入一个新的函数: δ m ( a ) \ \delta_{m}(a) δm(a),读音delta。函数定义为最小的 d \ d d满足 a d ≡ 1 ( m o d m ) \ a^{d} \equiv 1 (mod \,\,m) ad≡1(modm),这个函数不在此讨论。
欧拉函数及其重要定理暂时就这么多。
以上我们可以得出两种求欧拉函数的方法。
1.欧拉函数线性筛
即计算每一个素数对后面的影响。是线性筛出欧拉函数值的算法。
int n;
int phi[100100],prime[100100],tot=0,ans=0;
bool mark[100100];
void getphi(int n)
{
phi[1]=1;
int i=2,j=1;
while(i<=n)
{
if(!mark[i])
{
prime[++tot]=i;
phi[i]=i-1;
}
j=1;
while(j<=tot)
{
if(i*prime[j]>n) break;
mark[i*prime[j]]=1;
if(i%prime[j]==0)
{
phi[i*prime[j]]=phi[i]*prime[j];break;
}
else phi[i*prime[j]]=phi[i]*(prime[j]-1);
++j;
}
++i;
}
}
2.通项公式
求出一个数的素因子及其指数。
int gphi(int n)
{
int res=n,i=2;
while(i*i<=n)
{
if(n%i==0){
res=res-res/i;
do{
n/=i;
}while(n%i==0);
}
++i;
}
if(n>1) res=res-res/n;
return res;
}
重要积性函数 = = = = = ⇒ \ = = = = = \Rightarrow =====⇒莫比乌斯函数
μ ( x ) \ \mu(x) μ(x)即莫比乌斯函数。
μ ( x ) = { 1 , x = 1 ( − 1 ) r , x = p 1 p 2 ⋯ p r 0 , o t h e r s \mu (x)= \begin{cases} 1,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,x=1 \\ (-1)^{r},\,\,\,\,\,\,x=p_{1} p_{2} \cdots p_{r} \\ 0,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,others \end{cases} μ(x)=⎩⎪⎨⎪⎧1,x=1(−1)r,x=p1p2⋯pr0,others
可以证明:
(
d
1
,
d
2
)
=
1
\ (d_{1},d_{2})=1
(d1,d2)=1时,
μ
(
d
1
d
2
)
=
μ
(
d
1
)
μ
(
d
2
)
\ \mu(d_{1}d_{2})=\mu(d_{1}) \mu(d_{2})
μ(d1d2)=μ(d1)μ(d2)
定理
定理1
∑ d ∣ m μ ( d ) = [ 1 n ] = { 1 , n = 1 0 , n = 0 \sum_{d|m} \mu(d)=\lbrack \frac{1}{n} \rbrack= \begin{cases} 1,\,\,\,\,\,\,\,\,\,n=1 \\ 0,\,\,\,\,\,\,\,\,\,n=0 \end{cases} d∣m∑μ(d)=[n1]={1,n=10,n=0
证明:
n
=
1
\ n=1
n=1时显然成立。
n
=
p
1
a
1
p
2
a
2
⋯
p
s
a
s
\ n=p_{1}^{a_{1}} p_{2}^{a_{2}} \cdots p_{s}^{a_{s}}
n=p1a1p2a2⋯psas
根据定义,我们从中取一定数量的素数,答案是完全确定的。
∑ d ∣ m μ ( d ) = ( s 0 ) − ( s 1 ) + ( s 2 ) − ⋯ + ( − 1 ) s ( s s ) = ∑ i = 0 s ( − 1 ) i ( s i ) \sum_{d|m} \mu(d)= \binom{s}{0} - \binom{s}{1}+ \binom{s}{2} - \cdots +(-1)^{s} \binom{s}{s}= \sum_{i=0}^{s}(-1)^{i} \binom{s}{i} d∣m∑μ(d)=(0s)−(1s)+(2s)−⋯+(−1)s(ss)=i=0∑s(−1)i(is)
根据二项式定理:
( a + b ) s = ( s 0 ) a s + ( s 1 ) a s − 1 b 1 ⋯ + ( s s ) b s (a+b)^{s}=\binom{s}{0} a^{s}+\binom{s}{1} a^{s-1}b^{1} \cdots +\binom{s}{s} b^{s} (a+b)s=(0s)as+(1s)as−1b1⋯+(ss)bs
我们得到:
∑
d
∣
m
μ
(
d
)
=
(
1
−
1
)
s
=
0
\sum_{d|m} \mu(d)= (1-1)^{s}=0
d∣m∑μ(d)=(1−1)s=0
证毕
定理2
A
\ A
A是一个有限的整数序列,
K
\ K
K是给定整数,
A
d
\ A_{d}
Ad表示
A
\ A
A中被
d
\ d
d整除的数组成的子序列。
K
=
p
1
a
1
p
2
a
2
⋯
p
s
a
s
\ K=p_{1}^{a_{1}} p_{2}^{a_{2}} \cdots p_{s}^{a_{s}}
K=p1a1p2a2⋯psas
∣
A
d
∣
\ |A_{d}|
∣Ad∣表示这个子序列的长度。
在序列中与
K
\ K
K既约的个数。
S ( A ; K ) = ∑ a ∈ A , ( a , K ) = 1 1 = ∣ A ∣ − ∑ r = 1 s ( − 1 ) r ∑ i 1 = 1 s ∑ i 2 = 1 s ⋯ ∑ i r = 1 s ⏟ i 1 < i 2 < ⋯ < i r ∣ A p i 1 p i 2 ⋯ p i r ∣ S(A;K) = \sum_{a \in A,(a,K)=1}1 =|A|-\sum_{r=1}^{s} (-1)^{r} \underbrace{ \sum_{i_{1}=1}^{s} \sum_{i_{2}=1}^{s} \cdots \sum_{i_{r}=1}^{s}}_{i_{1}<i_{2}< \cdots <i_{r}}|A_{p_{i_{1}} p_{i_{2}} \cdots p_{i_{r}}}| S(A;K)=a∈A,(a,K)=1∑1=∣A∣−r=1∑s(−1)ri1<i2<⋯<ir i1=1∑si2=1∑s⋯ir=1∑s∣Api1pi2⋯pir∣
证明:
由定理1得知:
∑
a
∈
A
,
(
a
,
K
)
=
1
1
=
∑
a
∈
A
∑
d
∣
(
a
,
K
)
μ
(
d
)
=
∑
d
∣
K
μ
(
d
)
∑
a
∈
A
,
d
∣
a
1
=
∑
d
∣
K
μ
(
d
)
∣
A
d
∣
\sum_{a \in A,(a,K)=1}1=\sum_{a \in A} \sum_{d|(a,K)} \mu(d)=\sum_{d|K} \mu(d) \sum_{a \in A,d|a}1=\sum_{d|K} \mu(d)|A_{d}|
a∈A,(a,K)=1∑1=a∈A∑d∣(a,K)∑μ(d)=d∣K∑μ(d)a∈A,d∣a∑1=d∣K∑μ(d)∣Ad∣
证毕
我们也可以得出两种求莫比乌斯函数的方法。
莫比乌斯函数线性筛
和欧拉筛一样,计算素数对后面的影响。
bool notp[100100];
int pnum,p[100100],n,u[100100];
void getmu(int n)
{
memset(notp,0,sizeof notp);
pnum=0;
u[1]=1;
int i=2,j=0;
while(i<=n)
{
if(!notp[i])
{
p[pnum++]=i;
u[i]=-1;
}
j=0;
while((j<pnum)&&(i*p[j]<=n))
{
int k=i*p[j];
notp[k]=1;
if(i%p[j]==0)
{
u[k]=0;
break;
}
u[k]=-u[i];
++j;
}
++i;
}
}
2.通项公式
int getmob(int a)
{
int x=a,tmp=a;
int cnt=0,now=0,j=2;
while(j*j<=x)
{
now=0;
if(x%j==0)
{
while(x%j==0)
{
++now;
x/=j;
}
if(now>1) return 0;
++cnt;
}
++j;
}
if(x!=1) ++cnt;
return (cnt&1 ) ? -1 : 1;
}
莫比乌斯函数以后还有大用,在莫比乌斯变换中用处很大。