莫比乌斯

模板

 1 void solve(){
 2     mu[1]=1;
 3     for(i=2;i<maxn;i++)
 4     {
 5         if(!vis[i])
 6         {
 7             prime[top++]=i;
 8             mu[i]=-1;
 9         }
10         for(j=0;j<top&&prime[j]*i<maxn;j++)
11         {
12             k=prime[j]*i;
13             vis[k]=1;
14             if(i%prime[j])
15             {
16                 mu[k]=-mu[i];
17             }
18             else
19             {
20                 mu[k]=0;
21                 break;
22             }
23         }
24     }
25 }
原文地址:https://www.cnblogs.com/yZiii/p/7285885.html