列表

详情


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

描述

输入一个正整数,计算它在二进制下的1的个数。
注意多组输入输出!!!!!!

数据范围:

输入描述

输入一个整数

输出描述

计算整数二进制中1的个数

示例1

输入:

5

输出:

2

说明:

5的二进制表示是101,有2个1

示例2

输入:

0

输出:

0

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++ 解法, 执行用时: 1ms, 内存消耗: 228KB, 提交时间: 2017-07-24

#include<iostream>
using namespace std;
int main()
{
	int num;
	while (cin >> num)
	{
		int count = 0;
		while (num)
		{
			num = (num - 1)&num;
			count++;
		}
		cout << count<<endl;
	}
	return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 256KB, 提交时间: 2020-07-07

#include <stdio.h>
int main()
{
    int a;
    int count = 0;
    while (scanf("%d", &a) != EOF) {
        while (a) {
            a &= (a - 1);
            count++;
        }
        printf("%d\n", count);
        count = 0;
    }
    return 0;
}

上一题