কম্পিউটার

যোগ করার জন্য সর্বনিম্ন মান খুঁজুন যাতে অ্যারে C++ এ ভারসাম্যপূর্ণ হয়


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

কাজটি সহজ, আমরা প্রথম এবং দ্বিতীয় অর্ধের যোগফল খুঁজে বের করব, তারপর পরম পার্থক্য খুঁজে বের করব এবং ফেরত দেব।

উদাহরণ

#include<iostream>
#include<cmath>
using namespace std;
int getValueToBalance(int a[], int n) {
   int left_sum = 0;
   for (int i = 0; i < n/2; i++)
   left_sum += a[i];
   int right_sum = 0;
   for (int i = n/2; i < n; i++)
   right_sum += a[i];
   return abs(left_sum - right_sum);
}
int main() {
   int arr[] = {1, 2, 3, 2, 5, 3};
   int n = sizeof(arr)/sizeof(arr[0]);
   cout << "The number for balancing: " << getValueToBalance(arr, n);
}

আউটপুট

The number for balancing: 4

  1. সমস্ত অ্যারে উপাদান বরাদ্দ করার জন্য সর্বনিম্ন মান খুঁজুন যাতে অ্যারে পণ্য C++ এ আরও বড় হয়

  2. C++ এ একটি অ্যারেতে ক্ষুদ্রতম মানের ফ্রিকোয়েন্সি খুঁজুন

  3. C++ ব্যবহার করে একটি অ্যারের মধ্যে একটি সংখ্যার ফ্রিকোয়েন্সি খুঁজুন।

  4. একটি অ্যারেতে ন্যূনতম সংখ্যা যোগ করুন যাতে যোগফল C++ এ সমান হয়?