मान लें हमारे पास n धनात्मक तत्वों का एक ऐरे A[] है। हमें एक और ऐरे B बनाना है, जैसे कि B[i], A[i] को छोड़कर A[] के सभी तत्वों का XOR हो। इसलिए यदि A = [2, 1, 5, 9], तो B = [13, 14, 10, 6]
इसे हल करने के लिए, पहले हमें A के सभी तत्वों का XOR ढूंढना होगा, और इसे वेरिएबल x में स्टोर करना होगा, फिर A[i] के प्रत्येक तत्व के लिए, B[i] = x XOR A[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