莫比乌斯函数的形式就是这样 其中p1-pk 为不相同的质数
性质 : 如果μ(n)=1; 除了n=1时 1-n的和为1 其他都为0;
线筛求莫比乌斯函数
#include<bits/stdc++.h> #define int long long using namespace std; const int maxn=1e5+10; int mu[maxn]; int prime[maxn]; int vis[maxn]; int cnt=0; void get_mu(int n) { mu[1]=1; for(int i=2;i<=n;i++) { if(!vis[i]){ prime[++cnt]=i; mu[i]=-1;} for(int j=1;j<=cnt&&prime[j]*i<=n;j++) { vis[prime[j]*i]=1; if(i%prime[j]==0)break; else mu[i*prime[j]]=-mu[i]; } } } int32_t main() { get_mu(maxn); cout<<mu[15]<<endl; }