莫比乌斯函数的形式就是这样   其中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;
}