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

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

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

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int count = 0;
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int num = in.nextInt();
            while (true) {
                int yushu = num % 2;//对2求余,余数为1则计数
                if (yushu == 1) {
                    count++;
                }
                num = num / 2;
                if (num < 2) { //最后一个商为1或0
                    if (num == 1) {
                        count++;
                    }
                    break;
                }
            }
            System.out.println(count);
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务