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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP