华为机试——求int型正整数在内存中存储时1的个数

来源:互联网 发布:淘宝首页导航尺寸 编辑:程序博客网 时间:2024/05/24 07:44

题目描述

输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
输入描述:
**输入一个整数(int类型)
输出描述:**
这个数转换成2进制后,输出1的个数
示例1

输入5输出2

思路:当前数如果除以2余数不为零,证明有一个1

代码:

#include <iostream> using namespace std;int main(){    int input;    int res = 0;    cin>>input;    while(input){        if(input%2!=0){//如果当前值与2的余数不为0,则结果加1            res+=1;        }        input/=2;//当前数除以2    }    cout<<res<<endl;    return 0;}

输出结果: 运行时间: 2 ms 占用内存:368K 状态:答案正确

阅读全文
0 0
原创粉丝点击