在本教程中,我们将编写一个程序,以查找按位或等于给定数字n的最大集合。
让我们看看解决问题的步骤。
初始化数字n。
编写一个从0迭代到n的循环。
如果i | n等于n,然后将i加到result中。
返回result。
让我们看一下代码。
#include <bits/stdc++.h> using namespace std; void printBitWiseOrSet(int n) { vector<int> v; for (int i = 0; i <= n; i++) { if ((i | n) == n) { v.push_back(i); } } for (int i = 0; i < v.size(); i++) { cout << v[i] << ' '; } cout << endl; } int main() { int n = 7; printBitWiseOrSet(n); return 0; }
输出结果
如果运行上面的代码,则将得到以下结果。
0 1 2 3 4 5 6 7