华为OJ(求最大连续bit数)
2015-08-16 17:07
357 查看
题目:求最大连续bit数
感觉代码应该还有改进的空间,testbits没必要右移至0
描述 | 功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 输入: 一个byte型的数字 输出: 无 返回: 对应的二进制数字中1的最大连续数 |
---|---|
知识点 | 位运算 |
运行时间限制 | 10M |
内存限制 | 128 |
输入 | 输入一个byte数字 |
输出 | 输出转成二进制之后连续1的个数 |
样例输入 | 3 |
样例输出 | 2 |
#include<iostream> using namespace std; int main() { int number,flag=1,max=0,cnt=0; unsigned int testbits=1; cin>>number; while(testbits) { if(number&testbits) { if(flag) cnt++; else cnt=0; if(cnt>max) max=cnt; flag=1; } else flag=0; testbits=testbits<<1; } cout<<max<<endl; //system("pause"); return 0; }
相关文章推荐
- HW—字符串最后一个单词的长度,单词以空格隔开。
- win10初体验,我的错误代码哪里去了
- C++基础---对象数组中delete与delete[]的区别
- HDU 1013.Digital Roots【模拟或数论】【8月16】
- 1091. Acute Stroke (30) -- DFS(三维空间)
- 架构师应该亲力亲为
- 回溯法解决N皇后问题
- 素数环问题
- scala 学习笔记(06) OOP(下)多重继承 及 AOP
- Scala数组小结
- Linux解压乱码
- POJ 1220 NUMBER BASE CONVERSION 高精度进制转换
- opentaps初学习之安装(mysql)
- Linux解压乱码
- (medium)LeetCode .Implement Trie (Prefix Tree)
- linux下I/O缓冲
- 如何增加你的气场
- [J2EE基础]初识JSP和Servlet
- 音乐播放器
- mysql锁研究系列二(MySQL表级锁的锁模式)