NYOJ 100 1的个数

1的个数

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

张云聪

#include
int Number ( int m ) {
	int n ;
	scanf ( "%d" , & n ) ; 
	if ( n <= 1 || n >= 1000 )  return 0 ;
	//整数N,表示测试数据的组数(1 10000 ) return 0 ;
		//每组测试数据只有一行,是一个整数M(0=

牛人代码:

#include
main(){
    int n,m,s;
    scanf("%d",&n);
    while(n--){
        scanf("%d",&m);
        s=0;
        while(m)
            m&=m-1,s++;
        printf("%d\n",s);
    }
}


阅读更多
版权声明:转载请注明出处 https://blog.csdn.net/jinjide_ajin/article/details/46784493
个人分类: 【基础题】
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

NYOJ 100 1的个数

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭