विचार करें कि हमें n तत्वों की एक सूची ढूंढनी है। लेकिन हमारे पास वास्तविक सरणी के लगातार दो तत्वों का XOR मान है। साथ ही वास्तविक का पहला तत्व दिया गया है। इसलिए यदि सरणी तत्व a, b, c, d, e, f हैं, तो दिया गया सरणी a^b, b^c, c^d, d^e और e^f होगा।
जैसा कि पहला नंबर दिया गया है, जिसका नाम a है, जो हमें सभी नंबरों को खोजने में मदद कर सकता है। यदि हम वास्तविक सरणी के दूसरे तत्व को खोजना चाहते हैं, तो हमें b =a ^ arr[i] करना होगा, दूसरे तत्व c =b ^ arr[1] के लिए और इसी तरह।
उदाहरण
#include<iostream> using namespace std; void findActualElements(int a, int arr[], int n) { int actual[n + 1]; actual[0] = a; for (int i = 0; i < n; i++) { actual[i + 1] = arr[i] ^ actual[i]; } for (int i = 0; i < n + 1; i++) cout << actual[i] << " "; } int main() { int arr[] = { 12, 5, 26, 7 }; int n = sizeof(arr) / sizeof(arr[0]); int a = 6; findActualElements(a, arr, n); }
आउटपुट
6 10 15 21 18