莫比乌斯函数

//线性筛m莫比乌斯函数s
int miu[maxn+10],vis[maxn+10];
void mobius()
{
    for(int i=1;i<=maxn;++i)
        miu[i]=1;
    for(int i=2;i<=maxn;++i)
    {
        if(!vis[i])
        {
            miu[i]=-1;
            for(int j=i+i;j<=maxn;j+=i)
            {
                vis[j]=1;
                if((j/i)%i==0) miu[j]=0;
                else miu[j]*=-1;
            }
        }
    }
}
//线性筛m莫比乌斯函数e

 

posted @ 2020-05-03 16:33  Faker_fan  阅读(128)  评论(0编辑  收藏  举报