下一个更大的整数在 C++ 中具有更多的设置位
在本教程中,我们将编写一个程序来查找下一个具有更多设置位的更大整数。
让我们看看解决问题的步骤。
初始化数字n。
编写一个函数来获取设置位数的计数。
用n + 1初始化迭代变量。
写一个无限循环。
检查大于n的数字的设置位数。
找到后返回号码。
示例
让我们看看代码。
#include <bits/stdc++.h>输出结果using namespace std;
int getSetBitsCount(int n) {
int count = 0;
while (n) {
if (n % 2 == 1) {
count += 1;
}
n /= 2;
}
return count;
}
int getNextGreaterElementWithSameSetBits(int n) {
int setBitsCount = getSetBitsCount(n);
int i = n + 1;
while (true) {
if (setBitsCount + 1 == getSetBitsCount(i)) {
return i;
}
i += 1;
}
}
int main() {
int n = 124;
cout << getNextGreaterElementWithSameSetBits(n) << endl;
return 0;
}
如果你运行上面的代码,那么你会得到下面的结果。
125
结论
如果您对本教程有任何疑问,请在评论部分提及。
以上是 下一个更大的整数在 C++ 中具有更多的设置位 的全部内容, 来源链接: utcz.com/z/331759.html