0
点赞
收藏
分享

微信扫一扫

#yyds干货盘点# 解决华为机试:查找输入整数二进制中1的个数

1.简述:

描述

输入一个正整数,计算它在二进制下的1的个数。注意多组输入输出!!!!!!数据范围: 1 \le n \le 2^{31}-1 \1≤n≤231−1 

输入描述:

输入一个整数

输出描述:

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

示例1

输入:

5

复制输出:

2

复制说明:

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

示例2

输入:

0

复制输出:

0

2.代码实现:

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
int a = in.nextInt();
String b=Integer.toBinaryString(a);
String c=b.replaceAll("1","");
System.out.println(b.length()-c.length());
}
}
}


举报

相关推荐

0 条评论