ধরুন আমাদের n উপাদান সহ একটি পূর্ণসংখ্যা অ্যারে আছে। আমাদের অ্যারেতে চতুর্গুণের সর্বোচ্চ গুণফল বের করতে হবে। সুতরাং যদি অ্যারেটি [3, 5, 20, 6, 10] এর মত হয়, তাহলে চূড়ান্ত গুণফল হল 6000, এবং চারগুণ উপাদান হল 10, 5, 6, 20
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- অ্যারেকে আরোহী ক্রমে সাজান
- ধরুন x শেষ চারটি উপাদানের গুণফল, y প্রথম চারটি উপাদানের গুণফল, এবং z হল প্রথম দুটি এবং দ্বিতীয় দুটি উপাদানের গুণফল
- x, y এবং z-এর সর্বোচ্চ রিটার্ন করুন।
উদাহরণ
#include<iostream>
#include<algorithm>
using namespace std;
int maxQuadProduct(int arr[], int n) {
if (n < 4)
return -1;
sort(arr, arr + n);
int last_four = arr[n - 1] * arr[n - 2] * arr[n - 3] * arr[n - 4];
int first_four = arr[0] * arr[1] * arr[2] * arr[3];
int two_first_last = arr[0] * arr[1] * arr[n - 1] * arr[n - 2];
return max(last_four, max(first_four, two_first_last));
}
int main() {
int arr[] = { -10, -3, 5, 6, -20 };
int n = sizeof(arr) / sizeof(arr[0]);
int maximum_val = maxQuadProduct(arr, n);
if (maximum_val == -1)
cout << "No Quadruple Exists";
else
cout << "Maximum product is " << maximum_val;
} আউটপুট
Maximum product is 6000