题解 | #求最大连续bit数#

求最大连续bit数

https://www.nowcoder.com/practice/4b1658fd8ffb4217bc3b7e85a38cfaf2

#include <stdio.h>

int main() {
    int n, x = 0;
    scanf("%d", &n);
    int num[20] ={0};

    while (n != 0) {
        if ((n & 0x1) != 0) {

            n = n >> 1;
            num[x]++;
        } 
        else if ((n & 0x1) == 0) {
            
            x++;
            n = n >> 1;
        }
    }
    int max = num[0];
    for (int i = 0; i<19; i++) {
        if (max<num[i+1]) {
            max = num[i+1];
        }
       // printf("%d",num[i]);
    }

    printf("%d",max);
    return 0;
}

全部评论

相关推荐

12-26 14:44
复旦大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务