当前位置: 代码迷 >> 综合 >> Java - 华为机试训练 - 求int型正整数在内存中存储时1的个数
  详细解决方案

Java - 华为机试训练 - 求int型正整数在内存中存储时1的个数

热度:103   发布时间:2023-10-09 18:36:33.0

  • 时间限制:1秒空间限制:32768K
  •  算法知识视频讲解

题目描述

输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。


输入描述:

 输入一个整数(int类型)



输出描述:

 这个数转换成2进制后,输出1的个数


输入例子:
5

输出例子:
2


//输入数据后转换成二进制数,统计二进制数中1的个数,输出即可。
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(sc.hasNext()){int n = sc.nextInt();String ans = Integer.toBinaryString(n);int sum = 0;for(int i=0 ;i<ans.length() ;i++){if(ans.charAt(i)==49){sum ++;}}System.out.println(sum);}}}