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

C++ কোড: গাণিতিক গড় বিচ্যুতি (Arithmetic Mean Deviation) ন্যূনতম করা

৩টি উপাদানের একটি অ্যারে A দেওয়া আছে। A[1] হবে A[0] এবং A[2]-এর গাণিতিক গড় যদি A[0] + A[2] = 2 × A[1] হয়। তিনটি সংখ্যার গাণিতিক গড় বিচ্যুতি d(A[0], A[1], A[2]) = |A[0] + A[2] - 2×A[1]|।

নিচের অপারেশন যেকোনো সংখ্যক বার করা যায়: দুটি ভিন্ন সূচক i এবং j নির্বাচন করুন (i ≠ j), তারপর A[i]-র মান ১ বাড়ান এবং A[j]-র মান ১ কমান। ন্যূনতম গাণিতিক গড় বিচ্যুতি বের করতে হবে।

সমাধানের ধাপসমূহ

অপারেশনগুলো থেকে মোট যোগফল অপরিবর্তিত থাকে। বিচ্যুতিটি মডুলো ৩-র মাধ্যমে নিয়ন্ত্রণ করা যায়। ন্যূনতম মান হবে min(1, ((a + c - 2b) % 3 + 3) % 3)।

উদাহরণ

#include <bits/stdc++.h> 
using namespace std; 

int solve(vector<int> A) { 
    int a = A[0]; 
    int b = A[1]; 
    int c = A[2]; 
    return min(1, ((a + c - 2 * b) % 3 + 3) % 3); 
} 

int main() { 
    vector<int> A = { 2, 2, 6 }; 
    cout << solve(A) << endl; 
    return 0; 
}

ইনপুট

{ 2, 2, 6 }

আউটপুট

1

ব্যাখ্যা

A = [2, 2, 6] হলে, a=2, b=2, c=6। বিচ্যুতি = |2+6-4| = 4। অপারেশন করলে [1, 3, 6] হয়, বিচ্যুতি = |1+6-6| = 1। এটি ন্যূনতম।

  1. C++-তে মিন এব্সোলিউট ডেভিয়েশন (Mean Absolute Deviation) বের করা

  2. C++-এ ম্যাট্রিক্সের মিন ভেক্টর (Mean Vector) নির্ণয়

  3. C++ ব্যবহার করে সমান্তর ও জ্যামিতিক গড় থেকে হারমোনিক গড় বের করা

  4. C++-এ গাণিতিক গড় (Arithmetic Mean)