কম্পিউটার

|arr[0] – arr[1] - + |arr[1] – arr[2] - + … +|arr[n – 2] – arr[n – 1] - যখন উপাদান 1 থেকে n C++ এ


এই সমস্যায়, আমাদের পরিসীমা [1, n] এর n পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয়েছে। আমাদের কাজ হল এমন একটি প্রোগ্রাম তৈরি করা যা |arr[0] – arr[1] - + |arr[1] – arr[2] - + … +|arr[n – 2] – arr[-এর সর্বোচ্চ মান খুঁজে পাবে। n – 1]।

সমস্যাটি বোঝার জন্য একটি উদাহরণ দেওয়া যাক,

ইনপুট − অ্যারে={1, 2, 3}

আউটপুট − 3

ব্যাখ্যা

max sum is
|1-3|+|2-1| = 3

এই সমস্যাটি সমাধান করার জন্য, একটি সহজ পদ্ধতি হল অ্যারে থেকে সমস্ত পারমুটেশন তৈরি করা। এবং পারমুটেশন থেকে সমস্ত মানের সর্বোচ্চ মান নির্ণয় কর। একটি আরও কার্যকর পদ্ধতি হল n-এর প্রতিটি মানের জন্য সমস্ত সর্বোচ্চ মানকে সাধারণীকরণ করা এবং তারপর একটি সাধারণ সূত্র তৈরি করা৷

তাই,

Maximum sum for (n = 1) = 0
Maximum sum for (n = 2) = 1
Maximum sum for (n = 3) = 3
Maximum sum for (n = 4) = 7
Maximum sum for (n = 5) = 11
So, the maximum value is 0, 1, 3, 7, 11…

সাধারণ সূত্র হল, ((n*n/2)-1)

উদাহরণ

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

#include <iostream>
using namespace std;
int maxAbsVal(int n) {
   if (n == 1)
      return 0;
   return ((n*n/2) - 1);
}
int main() {
   int n = 4;
   cout<<"The maximum sum of absolute difference is "<<maxAbsVal(n);
   return 0;
}

আউটপুট

The maximum sum of absolute difference is 7

  1. বৃত্তাকার অ্যারেতে সর্বাধিক যোগফল যাতে C++ এ দুটি উপাদান সংলগ্ন থাকে না

  2. |arr[0] – arr[1] - + |arr[1] – arr[2] - + … +|arr[n – 2] – arr[n – 1] - যখন উপাদান 1 থেকে n C++ এ

  3. অ্যারে থেকে সর্বোচ্চ অপসারণ যখন অপসারণের সময়>=C++ এ অপেক্ষার সময়

  4. C++ এ আক্ষরিক কি?