কম্পিউটার

C++ ব্যবহার করে এনক্রিপ্ট করা অ্যারে (অন্যান্য উপাদানের যোগফলের অ্যারে) থেকে আসল অ্যারে খুঁজুন।


আসুন আমরা বিবেচনা করি আমাদের কাছে পূর্ণসংখ্যার একটি অ্যারে আছে, সেই অ্যারেটি এনক্রিপ্ট করা অ্যারে, ধরুন অ্যারেটি A =[10, 14, 12, 13, 11], আসল অ্যারে হল B =[5, 1, 3, 2, 4। ], আমরা দেখতে পাচ্ছি যে A এর সূচক I-এর প্রতিটি উপাদান এই নিয়ম অনুসরণ করে:A[i] =B[j]-এ j অবস্থানে থাকা সমস্ত উপাদানের সমষ্টি, যেখানে I ≠ j। আমাদের কাজ হল এনক্রিপ্ট করা থেকে একটি আসল অ্যারে খুঁজে পাওয়া৷

কাজটি গাণিতিক পর্যবেক্ষণের উপর ভিত্তি করে। ধরুন অ্যারের সাইজ 4, আসল অ্যারে B এর চারটি উপাদান B =[a, b, c, d], তাই A হবে A[b+c+d, a+c+d, a+b+d , a+b+c], যদি আমরা B এর সমস্ত উপাদান যোগ করি, তাহলে আমরা পাব যোগফল =b+c+d+a+c+d+a+b+d+a+b+c =3*( a+b+c+d)। সুতরাং B-এর উপাদানগুলির যোগফল হবে যোগফল/3, এখন আমরা যদি দেখি B-এর উপাদানগুলি হবে [সমষ্টি – A[0], যোগফল – A[1], যোগফল – A[2], যোগফল – A[3] ]]

উদাহরণ

#include<iostream>
using namespace std;
void showOrigianlArray(int arr[], int n) {
   int sum = 0;
   for (int i=0; i<n; i++)
      sum += arr[i];
      sum = sum/(n-1);
   for (int i=0; i<n; i++)
      cout << (sum - arr[i]) << " ";
}
int main() {
   int arr[] = {10, 14, 12, 13, 11};
   int n = sizeof(arr) / sizeof(arr[0]);
   showOrigianlArray(arr, n);
}

আউটপুট

5 1 3 2 4

  1. C++ এ ধারাবাহিক উপাদানগুলির XOR ব্যবহার করে অ্যারের উপাদানগুলি খুঁজুন

  2. C++ এ একটি অ্যারের সমস্ত স্বতন্ত্র উপসেট (বা পরবর্তী) যোগফল খুঁজুন

  3. C++ ব্যবহার করে এনক্রিপ্ট করা অ্যারে (অন্যান্য উপাদানের যোগফলের অ্যারে) থেকে আসল অ্যারে খুঁজুন।

  4. C++ এ পয়েন্টার গাণিতিক ব্যবহার করে অ্যারের সমষ্টি