根据C ++中相同索引处的元素以外的所有数组元素的XOR构造一个数组
假设我们有一个包含n个正元素的数组A[]。我们必须创建另一个数组B,使得B[i]是A[]除A[i]之外的所有元素的XOR。因此,如果A=[2,1,5,9],那么B=[13,14,10,6]
为了解决这个问题,首先我们必须找到A的所有元素的XOR,并将其存储到变量x中,然后对于A[i]的每个元素,找到B[i]=xXORA[i]
示例
#include <iostream>
using namespace std;
void findXOR(int A[], int n) {
int x = 0;
for (int i = 0; i < n; i++)
x ^= A[i];
for (int i = 0; i < n; i++)
A[i] = x ^ A[i];
}
int main() {
int A[] = {2, 1, 5, 9};
int n = sizeof(A) / sizeof(A[0]);
cout << "Actual elements: ";
for (int i = 0; i < n; i++)
cout << A[i] << " ";
cout << endl;
cout << "After XOR elements: ";
findXOR(A, n);
for (int i = 0; i < n; i++)
cout << A[i] << " ";
}输出结果
Actual elements: 2 1 5 9 After XOR elements: 13 14 10 6
热门推荐
10 新房开工吉日祝福语简短
11 信件告别祝福语大全简短
12 父亲祝福语大全简短语
13 祝贺开业文案祝福语简短
14 团队文案祝福语简短励志
15 登上舞台祝福语大全简短
16 祝妹妹毕业祝福语简短
17 下雨开工吉祥祝福语简短
18 宝宝周岁敬酒祝福语简短