为什么这题我判断二进制位中1的个数就错了?
查看原帖
为什么这题我判断二进制位中1的个数就错了?
291976
quanjun楼主2021/11/6 17:51

“除到最后如果是 11” 和 “判断二进制是否只有一位为 11”不是一样的嘛?为什么我用 __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;
}
2021/11/6 17:51
加载中...