एक समस्या को हल करने के लिए, जिसमें दिया गया है, हमें उस संख्या को खोजने का काम सौंपा गया है, उदाहरण के लिए, उस संख्या के साथ दिए गए सरणी का XOR योग k के बराबर हो जाता है।
Input: arr[] = {1, 2, 3, 4, 5}, k = 10 Output: 11 Explanation: 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 11 = 10 Input: arr[] = { 12, 23, 34, 56, 78 }, k = 6 Output: 73
इस कार्यक्रम में, हम xor के गुण का उपयोग करने जा रहे हैं यदि A^B =C और A^C =B, और हम इसे इस समस्या में लागू करने जा रहे हैं।
समाधान खोजने के लिए दृष्टिकोण
इस दृष्टिकोण में, हम अब xor ऑपरेटर की उपरोक्त संपत्ति का उपयोग करेंगे। इस समस्या के लिए, अब हम सरणी से गुजरते हैं, और फिर यदि हम k के साथ संख्या xor करते हैं, तो यह हमारा उत्तर होगा।
उदाहरण
उपरोक्त दृष्टिकोण के लिए C++ कोड
#include <bits/stdc++.h> using namespace std; int main(){ int arr[] = { 1, 2, 3, 4, 5 }; // given array int n = sizeof(arr) / sizeof(int); // size of our array int k = 10; // given k int answer = 0; for(int i = 0; i < n; i++) // traversing the array for // xor sum answer ^= arr[i]; answer ^= k; // XORing with k to get our answer cout << answer << "\n"; // printing our answer return 0; }
आउटपुट
11
उपरोक्त दृष्टिकोण के लिए स्पष्टीकरण
इस दृष्टिकोण में, हम xor ऑपरेटर की कुछ संपत्ति का उपयोग करने जा रहे हैं, इसलिए उसके लिए, हम केवल सरणी के माध्यम से पार करने जा रहे हैं और फिर पूरे सरणी का xor योग ढूंढते हैं, और फिर हम उस xor योग को k के साथ xor करते हैं और वह उत्तर दें और फिर हम अपना उत्तर प्रिंट करते हैं।
निष्कर्ष
इस ट्यूटोरियल में, हम उस संख्या को खोजने का समाधान करते हैं जिसका किसी दिए गए सरणी के साथ XOR योग एक दी गई संख्या k है। हमने इस समस्या के लिए C++ प्रोग्राम और संपूर्ण दृष्टिकोण (Normal) भी सीखा जिसके द्वारा हमने इस समस्या को हल किया। हम उसी प्रोग्राम को अन्य भाषाओं जैसे सी, जावा, पायथन और अन्य भाषाओं में लिख सकते हैं। हमें उम्मीद है कि आपको यह ट्यूटोरियल मददगार लगा होगा।