51nod 1240 莫比乌斯函数


题目链接: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\n", miu(n));
29 return 0;
30 }
View Code

 

智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告