Computer >> Máy Tính >  >> Lập trình >> C ++

Bộ lớn nhất với bitwise HOẶC bằng n trong C ++

Trong hướng dẫn này, chúng ta sẽ viết một chương trình tìm tập hợp lớn nhất với bitwise HOẶC bằng số n đã cho.

Hãy xem các bước để giải quyết vấn đề.

  • Khởi tạo số n.
  • Viết một vòng lặp lặp lại từ 0 đến n.
    • Nếu tôi | n bằng n, sau đó thêm i vào kết quả.
  • Trả lại kết quả.

Ví dụ

Hãy xem mã.

#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;
}

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

0 1 2 3 4 5 6 7

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.