কম্পিউটার

ন্যূনতম গাণিতিক গড় বিচ্যুতি খুঁজে পেতে C++ কোড


ধরুন আমাদের কাছে 3টি উপাদান সহ একটি অ্যারে রয়েছে। A[1] হল দুটি উপাদানের পাটিগণিত গড় A[0] এবং A[3] যদি A[0] + A[2] =2 * A[1] হয়। d(A[0], A[1], A[2]) তিনটি সংখ্যার পাটিগণিত গড় বিচ্যুতি হল|A[0] + A[2] - 2*A[1]|। আমরা যেকোন সংখ্যক বার নিম্নলিখিত ক্রিয়াকলাপগুলি সম্পাদন করতে পারি:সূচক {0, 1, 2} থেকে দুটি সূচক i এবং j নির্বাচন করুন যেমন i !=j, তারপর A[i] 1 দ্বারা বৃদ্ধি করুন এবং A[j] 1 দ্বারা হ্রাস করুন। আমরা পাটিগণিত গড় বিচ্যুতির ন্যূনতম মান খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি A =[2, 2, 6] এর মত হয়, তাহলে আউটপুট হবে 1, কারণ আমরা যদি A[0] কমাই এবং A[1] বাড়াই, তাহলে অ্যারে হবে [1, 3, 6], সুতরাং গড় বিচ্যুতি হবে |1 + 6 - 2 * 3| =1.

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

a := A[0]
b := A[1]
c := A[2]
return minimum of 1 and (((a + c - 2 * b) mod 3 + 3) mod 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;
}

ইনপুট

{ 2, 2, 6 }

আউটপুট

1

  1. C++ এ গড় পরম বিচ্যুতির জন্য প্রোগ্রাম

  2. C++ এ একটি ম্যাট্রিক্সের গড় ভেক্টর খুঁজুন

  3. পাটিগণিত গড় ব্যবহার করে হারমোনিক গড় এবং C++ ব্যবহার করে জ্যামিতিক গড় খুঁজুন।

  4. c++ এ পাটিগণিত মানে?