题解 | #求int型正整数在内存中存储时1的个数#

求int型正整数在内存中存储时1的个数

https://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9

import java.util.Scanner;
import java.util.HashMap;


// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();

        /*
            2|5
            2|2 ... 1
            2|1 ... 0
            2|0 ... 1
         */
        HashMap<Integer, Integer> map = new HashMap<>();
        map.put(0,0);
        map.put(1,0);

        while (num != 0){
            int ret = num % 2;
            if (ret == 1){
                Integer i = map.get(1);
                i++;
                map.put(1,i);
            }
            num /= 2;
        }
        System.out.println(map.get(1));
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务