C++ 中按位或运算结果为奇数的数对数
给定一个数组,我们必须找出按位或运算结果为奇数的数对。让我们来看一个示例。
输入
arr = [1, 2]
输出
1
只有唯一一对的按位或运算结果为奇数。这对数为 (1, 2)。
算法
- 用随机数初始化数组。
- 将计数初始化为 0。
- 写两个循环来获取数组的数对。
- 计算每对数之间的按位或运算。
- 如果结果为奇数,则增加计数。
- 返回计数。
实现
以下是在 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; }
输出
如果你运行上述代码,你将看到以下结果。
35
广告