一、题目:
描述
求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1
本题含有多组样例输入。
输入描述:
输入一个byte数字
输出描述:
输出转成二进制之后连续1的个数
二、输入输出示例:
三、代码:
方法一(繁琐):将输入的数据转换为2进制逆序存入vector容器中,在判断最大连续的1的个数
#include<iostream>
using namespace std;
#include<vector>
int main()
{
int num;
while(cin>>num){
vector<int> v;
while(num != 1){
v.push_back(num % 2);
num /= 2;
}
v.push_back(1);
int res = 0,count = 0;
for(int i=0;i<v.size();i++){
if(v[i] == 1){
count++;
if(res < count){