下一个更大的整数在 C++ 中具有更多的设置位
在本教程中,我们将编写一个程序来查找下一个具有更多设置位的更大整数。
让我们看看解决问题的步骤。
初始化数字n。
编写一个函数来获取设置位数的计数。
用n+1初始化迭代变量。
写一个无限循环。
检查大于n的数字的设置位数。
找到后返回号码。
示例
让我们看看代码。
#include输出结果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
结论
如果您对本教程有任何疑问,请在评论部分提及。
热门推荐
10 给新娘简短的祝福语
11 少年学长学姐祝福语简短
12 简短喜庆的结婚祝福语
13 女朋友高考祝福语简短
14 简短道教生日祝福语
15 年会老师的祝福语简短
16 异地生日祝福语老公简短
17 伴娘婚礼贺词祝福语简短
18 公司年会祝福语大全 简短