কম্পিউটার

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] একই তাই তাদের xors হবে 0। সুতরাং, আমাদের কাছে শুধুমাত্র 2a[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++ STL-এ অ্যারের যোগফল

  2. C++ অ্যারের সমস্ত উপাদানে XOR অপারেশন প্রয়োগ করে অ্যারের যোগফলকে মিনিমাইজ করা

  3. C++ সাম অ্যারে ধাঁধা

  4. C++ এ একটি সমষ্টি অ্যারে ধাঁধা?