C ++中具有奇数个设置位的整数数
在本教程中,我们将编写一个程序来计算设置位为奇数的整数的数量。
让我们看看解决问题的步骤。
初始化数字N。
将计数初始化为0。
编写一个从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 getOddSetBitsIntegerCount(int n) { int count = 0; for (int i = 1; i <= n; i++) { if (getSetBitsCount(i) % 2 == 1) { count += 1; } } return count; } int main() { int n = 10; cout << getOddSetBitsIntegerCount(n) << endl; return 0; }
如果你运行上面的代码,那么你会得到下面的结果。
5
结论
如果您对本教程有任何疑问,请在评论部分提及。