• 就是二进制数中只有1位为1,就是2的幂。n & (n - 1)可以把二进制数中最后一位1置0.
#include <iostream>

using namespace std;

int main() {
    int n;
    cin >> n;
    bool flag = false;
    if (n > 0 && n & (n - 1) == 0) flag = true;
    
    return 0;
}

相关文章: