【华为OJ】求int型数据在内存中存储时1的个数
来源:互联网 发布:python except as 编辑:程序博客网 时间:2024/06/05 13:28
输入一个整数(int类型)
这个数转换成2进制后,输出1的个数
如果整数n的二进制中有k个1,则需要循环k次,方法是不断清除二进制中最低位的1,直至n为0;
如何清除n的二进制最低位1,n = n & (n - 1);
举例子:对于6来说,其二进制是0110,进行上述操作:6(0110)& 5(0101) = 4(0100),最低位的1已经清除
源代码:
- #include <iostream>
- using namespace std;
- void main(){
- int n;
- cin >> n;
- int count = 0;
- for(count = 0; n;count++)
- n = n & (n - 1);
- cout << count << endl;
- }
0 0
- 【华为OJ】求int型数据在内存中存储时1的个数
- 【华为OJ】【015-求int型数据在内存中存储时1的个数】
- 【华为OJ】【041-求int型数据在内存中存储时1的个数】
- 华为OJ——求int型数据在内存中存储时1的个数
- 华为OJ 初级:求int型数据在内存中存储时1的个数
- 【华为OJ】求int型数据在内存中存储时1的个数
- 【华为 OJ 】求int型数据在内存中存储时1的个数
- 华为OJ——求int型数据在内存中存储时1的个数
- 华为oj初级 求int型数据在内存中存储时1的个数
- 华为oj之求int型正整数在内存中存储时1的个数
- 华为OJ:求int型正整数在内存中存储时1的个数
- 【华为OJ】求int型正整数在内存中存储时1的个数
- 华为机试---求int型数据在内存中存储时1的个数
- 华为机试题--13.求int型数据在内存中存储时1的个数
- 华为OJ 输入一个int型数据,计算出该int型数据在内存中存储时1的个数
- 华为OJ训练之0009-161231-统计二进制数字中1的个数(求int型数据在内存中存储时1的个数)
- 华为oj 字符串个数统计&&数字颠倒&&字符串翻转&&字符逆序&&求int型数据在内存中存储时1的个数
- OJ------求int型数据在内存中存储时1的个数(二进制数中1的个数)
- python爬虫编写
- (3)
- 设计模式:观察者模式
- 开博记
- Dll注入技术之APC注入
- 【华为OJ】求int型数据在内存中存储时1的个数
- 遍历文件夹下所有文件
- linux③
- 最长上升子序列LIS
- 自动识别设备跳转手机页面代码
- Ubuntu13.10下配置samba实现文件夹共享最新版
- JavaScript学习
- 自动化测试--初始印象
- DLL注入技术之输入法注入