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

C++-এ অ্যারেতে arr[i] % arr[j] এর সর্বোচ্চ মান (Maximum Value of arr[i] % arr[j])

এই সমস্যাতে, একটি অ্যারে দেওয়া থাকে। আমাদের কাজ হল অ্যারেতে যেকোনো দুটি উপাদানের মডুলো অপারেশন (arr[i] % arr[j]) এর সর্বোচ্চ মান বের করা, অর্থাৎ দুটি উপাদান ভাগ করে যাবশেষের সর্বোচ্চ মান।

উদাহরণ

ইনপুট: array = {3, 6, 9, 2, 1}

আউটপুট: 6

ব্যাখ্যা: 6 % 9 = 6 যা সবচেয়ে বড় বাকি।

অপ্টিমাইজড লজিক

x % y এর মান সর্বোচ্চ হয় যখন y > x, তখন বাকি = x। সুতরাং অ্যারেতে দুটি সর্বোচ্চ উপাদান নিলে (দ্বিতীয় সর্বোচ্চ এবং সর্বোচ্চ) সর্বোচ্চ বাকি পাওয়া যায়। অ্যারে সর্ট করে দ্বিতীয় সর্বোচ্চ উপাদানটি ফেরত দিন।

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

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

int maxRemainder(int arr[], int n) {
    // সব উপাদান একই কিনা চেক করুন
    bool hasSameValues = true;
    for (int i = 1; i < n; i++) {
        if (arr[i] != arr[i - 1]) {
            hasSameValues = false;
            break;
        }
    }
    if (hasSameValues) return 0;
    
    sort(arr, arr + n);
    return arr[n - 2]; // দ্বিতীয় সর্বোচ্চ উপাদান
}

int main() {
    int arr[] = {3, 6, 9, 2, 1};
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << "The maximum remainder on dividing two elements of the array is " << maxRemainder(arr, n);
    return 0;
}

আউটপুট

The maximum remainder on dividing two elements of the array is 6
  1. C++-এ অ্যারেতে (arr[i] - i) - (arr[j] - j) এর সর্বোচ্চ মান

  2. C++-এ দেয়া অ্যারে এবং k-র জন্য |ai + aj – k|-র মিনিমাম পসিবল ভ্যালু

  3. সি++ প্রোগ্রাম: অ্যারেতে প্রতিটি উপাদানের জন্য সবচেয়ে নিকটবর্তী বড় মান (Closest Greater Value) খুঁজে বের করা

  4. অ্যারে অফ ইন্টিজার থেকে সর্বোচ্চ গুণফলের জোড়া খুঁজে বের করা C++-এ