কম্পিউটার

অ্যারেতে এমন একটি উপাদান খুঁজুন যাতে বাম অ্যারের যোগফল c++ ব্যবহার করে ডান অ্যারের যোগফলের সমান হয়


ধরুন আমাদের একটি অ্যারে রয়েছে, এতে n উপাদান রয়েছে। আমাদের কাজ হল অ্যারে A কে দুটি সাববরেতে ভাগ করা, যাতে প্রতিটি সাবয়ারের যোগফল একই হবে। ধরুন অ্যারে A =[2, 3, 4, 1, 4, 5], আউটপুট 1, তাই 1 এর আগে এবং 1 এর পরে সাবয়ারে নেওয়া হয়। [২, ৩, ৪], এবং [৪, ৫]।

এই সমস্যাটি সমাধান করার জন্য, আমরা right_sum-এর প্রথম উপাদান ব্যতীত পুরো অ্যারেটি গণনা করব। বিবেচনা করুন যে পার্টিশন উপাদান. আমরা বাম থেকে ডানে যাবো। ডান_সমষ্টি থেকে একটি উপাদান বিয়োগ করে বাম_সমষ্টিতে একটি উপাদান যোগ করে, আমরা বিন্দুটি ধরি যখন right_sum =left_sum।

উদাহরণ

#include<iostream>
using namespace std;
int getPartitionElement(int arr[], int size) {
   int right = 0, left = 0;
   for (int i = 1; i < size; i++)
      right += arr[i];
      for (int i = 0, j = 1; j < size; i++, j++) {
         right -= arr[j];
         left += arr[i];
         if (left == right)
            return arr[i + 1];
      }
   return -1;
}
int main() {
   int arr[] = { 2, 3, 4, 1, 4, 5 };
   int size = sizeof(arr) / sizeof(arr[0]);
   cout << "Partition element: " << getPartitionElement(arr, size);
}

আউটপুট

Partition element: 1

  1. C++ ব্যবহার করে x-এর যোগফল এবং এর অঙ্কগুলো n-এর সমান হয় এমন একটি সংখ্যা খুঁজুন।

  2. একটি অ্যারেতে সমস্ত জোড়া (a, b) খুঁজুন যেমন একটি % b =k C++ এ

  3. x এর সমষ্টি এবং এর সংখ্যা C++ এ দেওয়া n-এর সমান

  4. C++ প্রোগ্রাম 'k' খুঁজে বের করার জন্য যাতে প্রতিটি অ্যারের উপাদানের সাথে এর মডুলাস একই থাকে