কম্পিউটার টিউটোরিয়াল

C++-এ N সংখ্যা দিয়ে N/2 জোড়া তৈরি করে বর্গের যোগফল ন্যূনীকরণ

সমস্যা বিবরণ

n উপাদানের একটি অ্যারে দেওয়া আছে। কাজ হল n/2টি জোড়া তৈরি করা যাতে n/2টি জোড়ার বর্গের যোগফল ন্যূনতম হয়।

উদাহরণ

যদি দিয়ে থাকে অ্যারে:

arr[] = {5, 10, 7, 4}
তবে ন্যূনতম বর্গের যোগফল 340 যদি জোড়া তৈরি করা হয় (4, 10) এবং (5, 7)

অ্যালগরিদম

1. অ্যারেটি সর্ট করুন
2. দুটি ভেরিয়েবল নিন যা অ্যারের শুরু এবং শেষ ইনডেক্সে পয়েন্ট করবে
3. যোগফল বের করুন:
   sum = arr[start] + arr[end];
   sum = sum * sum;
4. এই প্রক্রিয়া start < end পর্যন্ত दुহরান এবং minSum আপডেট করুন:
   While (start < end) {
       sum = arr[start] + arr[end];
       sum = sum * sum;
       minSum += sum;
       ++start;
       --end;
   }

উদাহরণ কোড

#include <iostream>
#include <algorithm>
#define SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
using namespace std;

int getMinSquareSum(int *arr, int n) {
    sort(arr, arr + n);
    int minSum = 0;
    int start = 0;
    int end = n - 1;
    while (start < end) {
        int sum = arr[start] + arr[end];
        sum *= sum;
        minSum += sum;
        ++start;
        --end;
    }
    return minSum;
}

int main() {
    int arr[] = {5, 10, 7, 4};
    int res = getMinSquareSum(arr, SIZE(arr));
    cout << "Minimum square sum: " << res << "\n";
    return 0;
}

আউটপুট

Minimum square sum: 340
  1. C++-এ সিরিজের যোগফল 1/1! + 2/2! + 3/3! + 4/4! + ... n/n!

  2. C++-এ প্রথম n প্রাকৃতিক সংখ্যার বর্গের যোগফল (Sum of Squares)

  3. জাভা প্রোগ্রাম: সিরিজ 1/1! + 2/2! + 3/3! + 4/4! + ... + n/n! এর যোগফল বের করা

  4. পাইথন প্রোগ্রাম: সিরিজ 1/1! + 2/2! + 3/3! + ... + n/n! এর যোগফল বের করা