二进制中1的个数
来源:互联网 发布:中国人长相 知乎 编辑:程序博客网 时间:2024/06/14 14:53
面试官的手机被他调皮的儿子小明用一个数字作为密码锁上了。
小明只记得这个数字的十进制范围是l~r,且这个数的二进制表示中恰有m个1,却不记得确切的数字了。
面试官可急坏了。这才有了小赛一个将功赎过的机会。
他想要让小赛算出,他最坏情况下,要试多少次密码才能确保打开手机呢?
请输出这个次数。
输出 :
输出一行,包含一个整数,表示面试官最坏情况下,要试多少次密码才能确保打开手机。
如果小明记错了(也就是不存在任何一个数满足),则输出”-1”(不含引号)。
#include<iostream>using namespace std;int bitNumber(int n){ int num = 0; while (n){ ++num; n=n&(n-1); } return num;}int main(){ int l,r,m,result=0; while (cin >> l >> r>>m){ for (int i = l; i <= r; ++i) if (bitNumber(i) == m) ++result; if(result) cout << result<<endl; else cout<<-1; } return 0;}
#include<iostream>using namespace std;int bitNumber(int n){ int num = 0; int tmp = 1; while (tmp <= 2 * n){ if (tmp&n) ++num; tmp = tmp<< 1; } return num;}int main(){ int l,r,m,result=0; while (cin >> l >> r>>m){ for (int i = l; i <= r; ++i) if (bitNumber(i) == m) ++result; if(result) cout << result<<endl; else cout<<-1; } return 0;}
0 0
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 项目开发管理
- SQL应用之根据数据库表生成Extjs的model
- CSU 1811 Tree Intersection(启发式合并)
- SPFA算法模板
- 抽象类
- 二进制中1的个数
- 单例
- js--严格模式 'use strict'
- [LeetCode]289. Game of Life
- 求两个数的最大公约数的四种方法
- 求最小公倍数和最大公约数
- Android中log的一些输出方式
- 二项分布
- 逆向分析入门