1的個數
- 描述
- 小南剛學了二進制,他想知道一個數的二進制表示中有多少個1,你能幫他寫一個程序來完成這個任務嗎?
- 輸入
- 第一行輸入一個整數N,表示測試數據的組數(1<N<1000)
每組測試數據只有一行,是一個整數M(0=<M<=10000) - 輸出
- 每組測試輸出佔一行,輸出M的二進制表示中1的個數
- 樣例輸入
-
3 4 6 7
- 樣例輸出
-
1 2 3
分析:
十進制轉二進制,統計1的個數。
代碼:
#include<cstdio> int main() { int T; scanf("%d",&T); while(T--) { int m; scanf("%d",&m); int sum=0; while(1) { if(m%2) sum++; m/=2; if(!m) break; } printf("%d\n",sum); } return 0; }