莫比烏斯函式
定義
\[\mu(x)=
\left\{
\begin{matrix}
1 & x=1\\
(-1)^m & x=p_1\\
0 other
\end{matrix}
\right.
\]
求法
方法1. 直接暴力分解質因數
太水了。
方法2. 埃氏篩
\(O(n\log\log n)\)
方法3. 線性篩
for(int i = 2;i<=n;i++){
if(!is_prime[i]){
prime[++cnt] = i;
mu[i] = -1;
}
for(int j = 1;j<=cnt&&i*prime[j]<=n;j++){
is_prime[i*prime[j]] = 1;
if(i%prime[j]==0){
mu[i*prime[j]] = 0;
break;
}else{
mu[i*prime[j]]*=-1;
}
}
}