莫比乌斯函数

来源:互联网 发布:施耐德可编程编程软件 编辑:程序博客网 时间:2024/05/18 03:29

对于莫比乌斯函数,首先我们要知道它的符号是什么?

 

它定义为:

(1)若d=1,那么μ(d)=1

(2)若d=p1*p2*````pk(pi均为互异素数),那么μ(d)=(-1)^k

(3)其他情况μ(d)=0

莫比乌斯函数的性质:

(1)对于任意正整数n有


(2)对于任意正整数n有


莫比乌斯函数求解代码:

#include<stdio.h>#include<iostream>using namespace std;typedef long long ll;ll mu[100005];void mobius(ll mn)  {      mu[1]=1;      for(ll i=1;i<=mn;i++){          for(ll j=i+i;j<=mn;j+=i){              mu[j]-=mu[i];          }      }  }int main(){mobius(100000);}