题解
2024-12-07 19:56:23
发布于:广东
28阅读
0回复
0点赞
用一个函数不停/2来判断是否是2的整数次幂,这里借用一下log2(n)函数。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int sx;
bool mi(int n){
int tmp = n;
while(tmp){
if(tmp % 2 == 1 and tmp > 1){
return 0;
}
tmp /= 2;
}
return 1;
}
bool mi2(int n){
int tmp = n;
while(tmp){
if(tmp % 2 == 1 and tmp > 1){
return 0;
}
tmp /= 2;
}
return 1;
}
int main(){
int n;
cin >> n;
if(!mi(n)){
cout << "general";
} else {
if(!mi2(log2(n))){
cout << "good";
} else {
cout << "perfect";
}
}
return 0;
}
这里空空如也
有帮助,赞一个