怎么就不能好好地写个看的明白的题解呢??

查找输入整数二进制中1的个数

https://www.nowcoder.com/practice/1b46eb4cf3fa49b9965ac3c2c1caf5ad

#include <iostream>
using namespace std;

int main() {
    int n, res; // 定义我们输入的 n 和我们最后的二进制1的个数
    while (cin >> n) { // 多组输入我们的 n
        res = 0; // 因为是多组输入,我们把我们每次的答案都先清空为 0
        while (n) { // 如果 n 还有数字,不为0
            if (n & 1)
                res++; // 如果当前 n 的最后一位二进制位是 1, 答案加1
            n >>= 1; // n 向右移一次,将刚才计算过的二进制位剔除掉
        }
        cout << res << "\n"; // 输出最后的一个答案
    }
    return 0;
}

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务