总时间限制: 1000ms 内存限制: 65536kB
描述
给定一个十进制整数 N,求其对应 2 进制数中 1 的个数
输入
第一个整数表示有 N 组测试数据,其后 N 行是对应的测试数据,每行为一个整数。
输出
N 行,每行输出对应一个输入。
样例输入
样例输出
Code
C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #include <stdio.h> #include <math.h> int main() { int N, a, b, count = 0; scanf("%d", &N); for(int i = 1; i <= N; i++) { scanf("%d", &a); while(a > 0) { b = a % 2; a /= 2; if(b == 1) { count++; } } printf("%d\n", count); count = 0; } }
|
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #include <bits/stdc++.h> using namespace std; int main() { int N, temp, count = 0; cin >> N; for(int i = 1; i <= N; i++) { cin >> temp; while(temp > 0) { if(temp % 2 == 1) count++; temp /= 2; } cout << count << endl; count = 0; } }
|