kZjPBD.jpg

反演的形式

 

 

 1 const int maxn=60000+5;
 2 bool vis[maxn];
 3 int prime[maxn],mu[maxn];
 4 void init_mu(int n){
 5     int cnt=0;
 6     mu[1]=1;
 7     for(int i=2;i<n;i++){
 8         if(!vis[i]){
 9             prime[cnt++]=i;
10             mu[i]=-1;
11         }
12         for(int j=0;j<cnt&&i*prime[j]<n;j++){
13             vis[i*prime[j]]=1;
14             if(i%prime[j]==0)   {mu[i*prime[j]]=0;break;}
15             else { mu[i*prime[j]]=-mu[i];}
16         }
17     }
18 }

 

posted @ 2019-02-02 11:47  Through_The_Night  阅读(246)  评论(0)    收藏  举报