給定乙個長度為n的數列,請你求出數列中每個數的二進位制表示中1的個數。
輸入格式
第一行包含整數n。
第二行包含n個整數,表示整個數列。
輸出格式
共一行,包含n個整數,其中的第 i 個數表示數列中的第 i 個數的二進位制表示中1的個數。
資料範圍
1≤n≤100000,
0≤數列中元素的值≤109
樣例輸入樣例:
51 2 3 4 5
輸出樣例:
1 1 2 1 2
通過運用lowbit(x)來計算x的最後一位1, 然後將x - lowbit(x),每減一次,都將res = 0 加上1, 直到x為0時停止,這時就能輸出1的個數。
#include
using
namespace std;
intlowbit
(int x)
intmain()
printf
("%d "
, res);}
return0;
}//來自acwing
801 二進位制中1的個數
題目 學習了位運算,的用法 思路位運算 以下2步用於看一下第k位數 這樣如果我們先令k等於數的長度 1,然後依次輸出第k位在二進位制中的數,然後讓k k 0 這樣我們就可以得到某個數的二進位制表示了 以10為例 int x 10 for int k 3 k 0 k cout x 1 includeu...
演算法練習 801 二進位制中1的個數
801.二進位制中1的個數 給定乙個長度為n的數列,請你求出數列中每個數的二進位制表示中1的個數。輸入格式 第一行包含整數n。第二行包含n個整數,表示整個數列。輸出格式 共一行,包含n個整數,其中的第 i 個數表示數列中的第 i 個數的二進位制表示中1的個數。資料範圍 1 n 1000001 n 1...
二進位制 二進位制中1的個數
題目 請實現乙個函式,輸入乙個整數,輸出該數二進位制表示中 1 的個數。例如,把 9 表示成二進位制是 1001,有 2 位是 1。因此,如果輸入 9,則該函式輸出 2。示例 1 輸入 00000000000000000000000000001011 輸出 3 解釋 輸入的二進位制串 0000000...