“除到最后如果是 1” 和 “判断二进制是否只有一位为 1”不是一样的嘛?为什么我用 __builtin_popcount
就错了?
#include <bits/stdc++.h>
using namespace std;
int T;
long long n;
int main() {
ios::sync_with_stdio(0);
cin >> T;
while (T --) {
cin >> n;
cout << (__builtin_popcount(n) > 1 ? "YES" : "NO") << endl;
}
return 0;
}