演算法練習 801 二進位制中1的個數

2021-10-08 03:58:35 字數 582 閱讀 8847

801.二進位制中1的個數

給定乙個長度為n的數列,請你求出數列中每個數的二進位制表示中1的個數。

輸入格式

第一行包含整數n。

第二行包含n個整數,表示整個數列。

輸出格式

共一行,包含n個整數,其中的第 i 個數表示數列中的第 i 個數的二進位制表示中1的個數。

資料範圍

1≤n≤1000001≤n≤100000,

0≤數列中元素的值≤1090≤數列中元素的值≤109

輸入樣例:

5

1 2 3 4 5

輸出樣例:
1 1 2 1 2
使用lowbit的操作,先將數字最後乙個一擷取出來,然後不斷減去得到的數字 直到擷取到0,就是最終要的數字。

(** acwing yxc)

#includeusing namespace std;

const int n = 100010;

int lowbit(int x)

int main()

return 0;

}

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...

AcWing 801 二進位制中1的個數

給定乙個長度為n的數列,請你求出數列中每個數的二進位制表示中1的個數。輸入格式 第一行包含整數n。第二行包含n個整數,表示整個數列。輸出格式 共一行,包含n個整數,其中的第 i 個數表示數列中的第 i 個數的二進位制表示中1的個數。資料範圍 1 n 100000,0 數列中元素的值 109 樣例輸入...

二進位制 二進位制中1的個數

題目 請實現乙個函式,輸入乙個整數,輸出該數二進位制表示中 1 的個數。例如,把 9 表示成二進位制是 1001,有 2 位是 1。因此,如果輸入 9,則該函式輸出 2。示例 1 輸入 00000000000000000000000000001011 輸出 3 解釋 輸入的二進位制串 0000000...