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

Số cặp có Bitwise HOẶC là Số lẻ trong C ++

Cho một mảng, chúng ta phải tìm số cặp có Bitwise OR là một số lẻ. Hãy xem ví dụ.

Đầu vào

arr = [1, 2]

Đầu ra

1

Chỉ có một cặp có Bitwise OR là một số lẻ. Và cặp này là (1, 2).

Thuật toán

  • Khởi tạo mảng với các số ngẫu nhiên.
  • Khởi tạo số đếm bằng 0.
  • Viết hai vòng lặp để lấy các cặp của mảng.
    • Tính toán theo bitwise HOẶC giữa mọi cặp.
    • Tăng số lượng nếu kết quả là số lẻ.
  • Trả lại số lượng.

Thực hiện

Sau đây là cách thực hiện thuật toán trên trong C ++

#include <bits/stdc++.h>
using namespace std;
int getOddPairsCount(int arr[], int n) {
   int count = 0;
   for (int i = 0; i < n; i++) {
      for (int j = i + 1; j < n; j++) {
         if ((arr[i] | arr[j]) % 2 != 0) {
            count++;
         }
      }
   }
   return count;
}
int main() {
   int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
   int n = 10;
   cout << getOddPairsCount(arr, n) << endl;
   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.

35