POJ 3708 1的个数

时间限制: 
1000ms
内存限制: 
65536kB
描述
给定一个十进制整数N,求其对应2进制数中1的个数
输入
第一个整数表示有N组测试数据,其后N行是对应的测试数据,每行为一个整数。
输出
N行,每行输出对应一个输入。
样例输入
42100100066
样例输出
1362
 
(1)、源代码:
#include <iostream>
 
using namespace std;
 
int main()
{
                int n, sum, count;
                
                cin >> n;
                while(n-- > 0){
                                cin >> sum;
                                count = 0;
                                while(1){
                                                if(sum % 2 != 0)
                                                                count++;
                                                sum /= 2;
                                                if(sum == 0)
                                                                break;
                                }
                                cout << count << endl;
                }
                return 0;
}
 
(2)、解题思路:略
(3)、可能出错:略
 
 
posted on 2012-05-11 20:05  谷堆旁边  阅读(490)  评论(0编辑  收藏  举报