定义:
证明:
难搞 在努力
线性筛求法:
int primes[N],cnt;
bool vis[N];
int mobius[N];
void Mobius(int n){
mobius[1]=1;
for(int i=2;i<=n;i++){
if(!vis[i]){
primes[cnt++]=i;
mobius[i]=-1;
}
for(int j=0;primes[j]*i<=n;j++){
int t=primes[j]*i;
vis[t]= true;
if(i%primes[j]==0){
mobius[t]=0;
break;
}
mobius[t]=mobius[i]*-1;
}
}
}
(会持续更新)