模板
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 }