二进制中1的个数

简介: 二进制中1的个数

二进制中1的个数

参考文章:lowbit()

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

输入格式

第一行包含整数 n。

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

输出格式

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

数据范围

1≤n≤100000,

0≤数列中元素的值≤109

输入样例:

5

1 2 3 4 5

输出样例:

1 1 2 1 2

提交代码

import java.util.*;
public class Main
{
    public static int lowbit(int x)
    {
        return x & -x;
    }
    public static void main(String[] args)
    {
        int n;
        Scanner in = new Scanner(System.in);
        n = in.nextInt();
        while (n -- > 0)
        {
            int t, res = 0;
            t = in.nextInt();
            while (t > 0)
            {
                t -= lowbit(t);
                res ++;   
            }
            System.out.printf("%d ", res);
        }
    }
}
相关文章
|
6月前
|
C++
Acwing.26 二进制中1的个数
Acwing.26 二进制中1的个数
|
6月前
|
存储 算法
【三种方法】求一个整数存储在内存中二进制中的1的个数附两道课外练习题
【三种方法】求一个整数存储在内存中二进制中的1的个数附两道课外练习题
47 0
计算二进制中1的个数
计算二进制中1的个数
62 0
求一个整数储存在内存中的二进制1的个数
求一个整数储存在内存中的二进制1的个数
|
算法
34.二进制中1的个数
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
82 0
34.二进制中1的个数
|
存储 机器学习/深度学习
求一个整数存储在内存中的二进制中1的个数;例如15有4个1(三种方法详解)
求一个整数存储在内存中的二进制中1的个数;例如15有4个1(三种方法详解)
140 0
求一个整数存储在内存中的二进制中1的个数;例如15有4个1(三种方法详解)
|
存储 前端开发 程序员
二进制中1的个数(下)
二进制中1的个数(下)
二进制中1的个数(下)
|
开发者
二进制中1的个数(上)
二进制中1的个数(上)
二进制中1的个数(上)
求两个数二进制中不同位的个数
题目内容:两个int(32)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子: 7
|
Windows
求两个整数二进制中不同位的个数
求两个整数二进制中不同位的个数
113 0
求两个整数二进制中不同位的个数