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

java 复制代码
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        int count = 0;
        while(num > 1){
            if(num % 2 == 1){
                count++;
            }
            num = num / 2;
        }
        if(num == 0){
            System.out.println(count);
        }
        System.out.println(count + 1);
    }
}

描述

对于给定的 int 型的十进制整数 nn,统计其在内存中存储时 11 的个数。换句话说,即统计其二进制表示中 11 的个数。

输入描述:

在一行上输入一个整数 n(0≦n<231)n(0≦n<231),代表给定的数字。

输出描述:

在一行上输出一个整数,代表 nn 的二进制表示中 11 的个数。

思路

1、while循环,0和1单独计算;

2、每次对2进行取余,取余为1,则计算+1;

3、对2进行除法,进入下一次循环

相关推荐
Wokoo71 小时前
自动化测试入门:核心场景、回归测试与 Web 自动化环境搭建
java·开发语言·测试工具
tachibana21 小时前
Golang 中数组和切片的区别?
开发语言·后端·golang·数组·切片
我是人✓1 小时前
Spring IOC注解全解析和Spring整合测试单元
java·后端·spring
智购科技无人售货机工厂店2 小时前
玻璃瓶饮料破损率突然上升,排查发现是取货口缓冲垫老化了~YH
java·开发语言·人工智能·python·eclipse
镜象科技2 小时前
中小学AI心理健康解决方案服务商怎么选?2026年选型参考
android·java·人工智能
枫叶丹42 小时前
语音 AI 怎样边听边答:实时对话系统的工作原理
开发语言·人工智能·chatgpt·开源·php·agent·codex
阿狗童鞋2 小时前
高并发系统设计实战指南
java·spring boot·spring cloud
xie0510_2 小时前
Any类简要实现
开发语言·c++·算法
Sam_Deep_Thinking2 小时前
CountDownLatch实现原理
java·后端·面试·程序员