首页 > 试题广场 >

二进制中有多少个1

[编程题]二进制中有多少个1
  • 热度指数:6864 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
把一个 32-bit 整型转成二进制,其中包含多少个 1 ,比如 5 的二进制表达是 101 ,其中包含 2 个 1
 
数据范围:输入的数字满足

输入描述:
输入为整型(十进制),只需兼容32-bit即可,如5、32


输出描述:
输出为字符串,如“2”、“1”
示例1

输入

5

输出

2

说明

5的二进制是101,其中包含2个1 
示例2

输入

0

输出

0
头像 白色高跟鞋
发表于 2020-04-27 22:19:11
剑指Offer原题,不利用API或者暴力统计的话,稍微扩展一种巧妙的解法吧。刚好面试的时候也要求用位运算用小于O(n)的方法求解。 注意python2.7不能有中文注释 n = int(raw_input()) # Notice: raw_input() for python 2.7 cnt = 展开全文
头像 小牛哥永不退缩
发表于 2023-08-03 14:53:47
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = 展开全文
头像 bao_hu_yuan_zhang
发表于 2024-03-12 20:34:56
#include <iostream> using namespace std; int main() { int i=0; int n=0; cin>>n; int count=0; while(n) { 展开全文