POJ NOI0113-30 1的个数【进制】

来源:互联网 发布:it程序员累不累 编辑:程序博客网 时间:2024/06/05 05:22

问题链接POJ NOI0113-30 1的个数




总时间限制:
1000ms
内存限制:
65536kB
描述

给定一个十进制非负整数N,求其对应2进制数中1的个数。

输入
输入包含一行,包含一个非负整数N。(N < 109)
输出
输出一行,包含一个整数,表示N的2进制表示中1的个数。
样例输入
100
样例输出
3




问题分析

  这是一个位运算的问题,使用位运算符是关键。

程序说明:(略)


AC的C语言程序:

#include <stdio.h>int main(void){    unsigned int n;    int sum;    scanf("%u", &n);    sum = 0;    while(n) {        if(n & 1)            sum++;        n >>= 1;    }    printf("%d\n", sum);    return 0;}






原创粉丝点击