51nod1240(莫比乌斯函数)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1240
题意:中文题诶~
思路:直接暴力筛选就好了。。。
代码:
1 #include <bits/stdc++.h>
2 using namespace std;
3
4 int get_miu(int n){ //题目给出的n>=2&&n<=1e9,所以就不需要考虑1时候的情况啦
5 int cnt=0, flag=0;
6 for(int i=2; i*i<=n; i++){
7 if(n%i==0){
8 int t=0;
9 cnt++;
10 while(n%i==0){
11 t++;
12 n/=i;
13 }
14 if(t>1){
15 flag=1;
16 break;
17 }
18 }
19 }
20 if(n>1){
21 cnt++;
22 }
23 if(flag){
24 return 0;
25 }else{
26 return (int)pow(-1, cnt);
27 }
28 }
29
30 int main(void){
31 int n;
32 cin >> n;
33 cout << get_miu(n) << endl;
34 return 0;
35 }
我就是我,颜色不一样的烟火 --- geloutingyu