Acwing801二进制中1的个数

题目

给定一个长度为 n 的数列,请你求出数列中每个数的二进制表示中 11 的个数。

输入格式:

第一行包含整数 n

第二行包含 n 个整数,表示整个数列。

输出格式:

共一行,包含 n 个整数,其中的第 i 个数表示数列中的第 i 个数的二进制表示中 1 的个数。

数据范围:

1≤n≤100000 0≤数列中元素的值≤10^9

输入样例:

复制代码
5
1 2 3 4 5

输出样例:

复制代码
1 1 2 1 2

代码

java 复制代码
package Acwing.basicAlgorithm;

import java.util.Scanner;

public class 二进制中1的个数_801 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
//        int[] a = new int[n];
        for (int i =0 ;i < n;i ++) {
            int x = in.nextInt();
            int count = 0;
            while (x != 0) {
                count ++;
                x -= bit(x);
            }
            System.out.print(count + " ");
        }


    }
    public static int bit(int x) {
        return x & -x;
    }
//java中把统计二进制个数方法封装在jdk中了,可以直接调用Integer类中的bitCount方法
//import java.io.BufferedInputStream;
//import java.util.Scanner;
//
//    public class Main {
//
//        public static void main(String[] args) {
//            Scanner scanner = new Scanner(new BufferedInputStream(System.in));
//            int n = scanner.nextInt();
//            for(int i=0;i<n;i++) {
//                System.out.print(Integer.bitCount(scanner.nextInt())+" ");
//            }
//            scanner.close();
//        }
//
//    }
}
相关推荐
我是老孙1 分钟前
Spring Boot 应用中,配置的加载优先级
spring boot·后端·pycharm
风象南7 分钟前
基于 SpringBoot 的 REST API 与 RPC 调用的统一封装
java·spring boot·后端
陈随易18 分钟前
Kimi k2不行?一个小技巧,大幅提高一次成型的概率
前端·后端·程序员
Victor35634 分钟前
MySQL(133)如何解决MySQL连接超时问题?
后端
亚洲第一中锋_哈达迪34 分钟前
详解缓存淘汰策略:LRU
后端·缓存·golang
婪苏35 分钟前
Python 数据类型详解:从基础到拷贝机制
后端
icecreamstorm36 分钟前
MySQL索引
后端·mysql
-dzk-39 分钟前
【Flask】基础入门
后端·python·pycharm·django·flask·conda·pip
盖世英雄酱5813642 分钟前
同事的代码问题第六期(MQ与多线程处理数据)
后端
import_random43 分钟前
[python]PATH环境变量(优先级)
后端