题解
2025-11-28 07:14:00
发布于:湖南
6阅读
0回复
0点赞
#include <iostream>
using namespace std;
int main() {
int num;
cin >> num;
// 找最低位的1的位置(从0开始计数)
int low = 0;
int temp = num;
while ((temp & 1) == 0) {
low++;
temp >>= 1;
}
// 找最高位的1的位置(从0开始计数)
int high = 0;
temp = num;
while (temp >>= 1) {
high++;
}
// 间距 = 最高位位置 - 最低位位置
cout << (high - low) << endl;
return 0;
}
这里空空如也




有帮助,赞一个