Huawei OD コンピューターのテスト - 入力整数バイナリ内の 1 の数を見つける (C++ & Java & JS & Python)

説明する

正の整数を入力し、その整数に含まれる 1 の数を 2 進数で数えます。

複数の入力と出力のセットに注意してください。

データ範囲: 1≤�≤231−1 1≤n≤231−1 

説明を入力してください:

整数を入力してください

出力の説明:

整数 2 進法で 1 の数を数えます。

例1

入力:

5

出力:

2

例証します:

5 を 2 進数で表現すると、1 が 2 つ付いて 101 になります。   

例 2

入力:

0

出力:

0

ジャバ:

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
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(

おすすめ

転載: blog.csdn.net/m0_68036862/article/details/132850331