Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में सरणी के हर संभावित जोड़े के योग का XOR


इस समस्या में, हमें n तत्वों की एक सरणी दी गई है। हमारा कार्य n*n आकार का एक अनुक्रम उत्पन्न करना है जिसके तत्व A के सभी तत्वों के साथ स्वयं के जोड़े का योग हैं। और इस योग सरणी के तत्वों का XOR प्रिंट करना है।

आइए एक उदाहरण से समस्या को समझते हैं,

इनपुट - A (1, 4, 5)

आउटपुट - 0

व्याख्या -

B (1+1, 1+4, 1+5, 4+1, 4+4, 4+5, 5+1, 5+4, 5+5)
B(2,5,6,5,8,9,6,9,10)
Xor of all values = 2^5^6^5^8^9^6^9^10 = 0.

इस समस्या को हल करने के लिए, हमें XOR के कुछ गुणों को जानने की आवश्यकता है। पहला, एक संख्या का उसी संख्या के साथ XOR 0 होता है। अब, नवगठित सरणी में, कई तत्व हैं जो समान हैं, तत्व a[i]+a[j] और a[j]+a[i] समान हैं इसलिए उनके XOR 0 होंगे। इसलिए, हम केवल 2*a[i] तत्वों के साथ बचे हैं, इसलिए हम सभी a[i] तत्वों का XOR लेंगे और इसे दो से गुणा करेंगे। यह हमारा अंतिम उत्तर होगा।

उदाहरण

हमारे एल्गोरिदम के कार्यान्वयन को दिखाने वाला प्रोग्राम

#include <iostream>
using namespace std;

int findSumXor(int arr[], int n) {
    int XOR = 0;
    for (int i = 0; i < n; i++) {
        XOR = XOR ^ arr[i];
    }
    return XOR * 2;
}

int main() {
    int arr[3] = {2, 4, 7};
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << "The xor of the sum pair of elements of the array is\t" << findSumXor(arr, n);
    return 0;
}

आउटपुट

The xor of the sum pair of elements of the array is 2
  1. - C++ में XOR ऑपरेशन द्वारा सरणी योग न्यूनतम करें

    समस्या विवरण एक सरणी दी गई है, एक मान X ढूंढें जिससे प्रत्येक तत्व के साथ XOR करने के बाद सरणी का योग न्यूनतम हो। उदाहरण: arr = {8, 5, 7, 6, 9} यदि X = 5, तो XOR के बाद: 13, 0, 2, 3, 12 → योग = 30 (न्यूनतम) एल्गोरिदम 32-बिट बिटमैप बनाएं प्रत्येक तत्व के सेट बिट्स गिनें n/2 हैं, तो X में वह बिट

  1. - C++ सम एरे पहेली (Sum Array Puzzle)

    एरे (Array) एक डेटा संरचना है जो समान डेटा प्रकार के कई तत्वों को संग्रहीत करती है। यह एक बार में मानों का पूरा सेट संग्रहीत कर सकता है। लेकिन इसकी लंबाई पहले से परिभाषित होनी चाहिए। इस सम एरे पहेली में, हमें एक निश्चित आकार का एरे A1 दिया जाता है, मान लीजिए n। इस पहेली को हल करने के लिए, हम S1 नाम

  1. - C++ में सम ऐरे पजल (बिना घटाव ऑपरेटर के)

    यहां हम ऐरे से संबंधित एक रोचक समस्या देखेंगे। n तत्वों वाला एक ऐरे है। हमें n तत्वों का एक और ऐरे बनाना है। लेकिन दूसरे ऐरे का i-th स्थान पहले ऐरे के i-th तत्व को छोड़कर सभी तत्वों का योग रखेगा। और एक प्रतिबंध है कि हम इस समस्या में घटाव ऑपरेटर का उपयोग नहीं कर सकते। यदि हम घटाव ऑपरेशन का उपयोग कर