# Number of pairs with Bitwise OR as Odd number in C++

C++Server Side ProgrammingProgramming

#### C in Depth: The Complete C Programming Guide for Beginners

45 Lectures 4.5 hours

#### Practical C++: Learn C++ Basics Step by Step

Most Popular

50 Lectures 4.5 hours

#### Master C and Embedded C Programming- Learn as you go

66 Lectures 5.5 hours

Given an array, we have to find the number of pairs whose Bitwise OR is an odd number. Let's see the example.

Input

arr = [1, 2]

Output

1


There is only one pair whose Bitwise OR is an odd number. And the pair is (1, 2).

## Algorithm

• Initialise the array with random numbers.
• Initialise the count to 0.
• Write two loops to get the pairs of the array.
• Compute the bitwise OR between every pair.
• Increment the count if the result is an odd number.
• Return the count.

## Implementation

Following is the implementation of the above algorithm in 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;
}

## Output

If you run the above code, then you will get the following result.

35