关闭

南阳oj 题目100 1的个数

标签: 南阳oj题目1001的个数
204人阅读 评论(0) 收藏 举报
分类:


1的个数

时间限制:3000 ms  |  内存限制:65535 KB
难度:1
描述
小南刚学了二进制,他想知道一个数的二进制表示中有多少个1,你能帮他写一个程序来完成这个任务吗?
输入
第一行输入一个整数N,表示测试数据的组数(1<N<1000)
每组测试数据只有一行,是一个整数M(0=<M<=10000)
输出
每组测试输出占一行,输出M的二进制表示中1的个数
样例输入
3
4
6
7
样例输出
1
2
3

注:此题为:南阳oj 题目100  1的个数

说明:求二进制问题,只要二进制出现1,计数器加1就行了,并不用求出二进制,再数一的个数,

已AC源代码:

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
	int N;
	cin>>N;
	while(N--)
	{
		int M,num;
		cin>>M;
		num=0;
		while(M)
		{
			if(M%2==1)//二进制为1,num加1 
			    num++;
			M/=2;
		}
		cout<<num<<endl;
	}
	return 0;
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:65204次
    • 积分:3282
    • 等级:
    • 排名:第10307名
    • 原创:276篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    最新评论