题解
2025-11-28 07:17:57
发布于:湖南
8阅读
0回复
0点赞
#include <iostream>
using namespace std;
int main() {
long long x; // 用long long存储x(支持到1e18)
cin >> x;
int max_len = 0; // 连续1的最大长度
int current_len = 0; // 当前连续1的长度
while (x > 0) {
if (x & 1) { // 最后一位是1
current_len++;
if (current_len > max_len) {
max_len = current_len;
}
} else { // 最后一位是0,重置当前长度
current_len = 0;
}
x >>= 1; // 右移一位,处理下一位
}
cout << max_len << endl;
return 0;
}
这里空空如也




有帮助,赞一个