Cho mảng số nguyên. Đếm cặp (i,j) (i < j) sao cho arr[i] | arr[j] là số chẵn.
Nhận xét: OR chẵn khi cả hai đều chẵn (bit LSB = 0). Kết quả = C(even, 2) = even*(even-1)/2.
Ví dụ: {2,5,1,8,9,2,7} → Chẵn: 3 → Kết quả: 3.
Ví dụ
#include <iostream>
using namespace std;
int count_pair(int arr[], int size) {
int even = 0;
for (int i = 0; i < size; i++)
if (!(arr[i] & 1)) even++;
return even * (even - 1) / 2;
}
int main() {
int arr[] = {2,5,1,8,9,2,7};
int size = sizeof(arr) / sizeof(arr[0]);
cout << "Count: " << count_pair(arr, size);
return 0;
}
Đầu ra
Count of pairs with Bitwise OR as Even number are: 3