题目链接:51nod 1240 莫比乌斯函数
莫比乌斯函数学习参考博客:http://www.cnblogs.com/Milkor/p/4464515.html
1 #include<cstdio> 2 #include<cmath> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 typedef long long ll; 7 int miu(int n){ 8 int i, cnt; 9 int k = 0;//质因子个数 10 for(i = 2; i*i <= n; ++i){ 11 cnt = 0; 12 if(n % i == 0){ 13 k++; 14 while(n%i == 0){ 15 n /= i; 16 cnt++; 17 } 18 if(cnt > 1)//包含平方因子 19 return 0; 20 } 21 } 22 if(n != 1) k++; 23 return (k&1)?-1:1; 24 } 25 int main(){ 26 int n; 27 scanf("%d", &n); 28 printf("%d ", miu(n)); 29 return 0; 30 }