C++ 中最大集合与按位或运算等于 n


在本教程中,我们将编写一个程序,它会找出最大集合,该集合与按位或运算等于给定的数字 n。

让我们看看解决这个问题的步骤。

  • 初始化数字 n。
  • 编写从 0 到 n 循环的循环。
    • 如果 i | n 等于 n,则将 i 添加到结果中。
  • 返回结果。

范例

让我们看看代码。

 在线演示

#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

结论

如果你在完成本教程中遇到任何问题,请在评论区提出。

更新于: 2021 年 4 月 9 日

66 次浏览

开始您的职业生涯

通过完成课程获得认证

开始
广告