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

C++-এ অ্যারের GCD কে k-এর গুণিতক বানানোর ন্যূনতম অপারেশন

ধরুন আমাদের একটি অ্যারে arr এবং অন্য একটি মান k আছে। আমাদের অ্যারের GCD কে k-এর গুণিতক বানানোর জন্য ন্যূনতম অপারেশনের সংখ্যা বের করতে হবে। এখানে অপারেশন হচ্ছে মান বাড়ানো বা কমানো। ধরুন অ্যারেটি হল {4, 5, 6}, এবং k হল ৫। আমরা ৪ কে ১ বাড়িয়ে ৫ বানাতে পারি, আর ৬ কে ১ কমিয়ে ৫ বানাতে পারি। এখানে মোট অপারেশন ২টি।

ফলাফল পেতে নিচের ধাপগুলো অনুসরণ করতে হবে:

  • অ্যারের সব উপাদান e-এর জন্য ধাপ ২ এবং ৩ অনুসরণ করুন
  • যদি e ১ না হয় এবং e > k হয়, তবে ফলাফলে (e mod k) এবং (k - e mod k)-এর ন্যূনতম মান যোগ করুন
  • অন্যথায়, ফলাফলে k - e যোগ করুন
  • ফলাফল ফেরত দিন

C++ প্রোগ্রাম উদাহরণ

#include <iostream>
using namespace std;

int countMinOp(int arr[], int n, int k) {
    int result = 0;
    for (int i = 0; i < n; ++i) {
        if (arr[i] != 1 && arr[i] > k) {
            result = result + min(arr[i] % k, k - arr[i] % k);
        } else {
            result = result + k - arr[i];
        }
    }
    return result;
}

int main() {
    int arr[] = { 4, 5, 6 };
    int n = sizeof(arr) / sizeof(arr[0]);
    int k = 5;
    cout << "Minimum operation required: " << countMinOp(arr, n, k);
    return 0;
}

আউটপুট

Minimum operation required: 2
  1. C++-এ অ্যারে-এর XOR শূন্য করার জন্য মিনিমাম অপারেশন

  2. C++ ব্যবহার করে অ্যারের সব এলিমেন্ট ০ করার ন্যূনতম অপারেশন সংখ্যা

  3. C++-এ কো-প্রাইম অ্যারে बनाने জন্য ন্যূনতম ইনসারশন

  4. C++-এ অ্যারের সব এলিমেন্ট একই করার জন্য ন্যূনতম ডিলিট অপারেশন