Computer >> Máy Tính >  >> Lập trình >> C ++

Tích tối đa của một bộ ba (dãy con có kích thước 3) trong mảng trong C ++

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để tìm tích tối đa của một bộ ba (dãy con có kích thước 3) trong mảng.

Đối với điều này, chúng tôi sẽ được cung cấp với một mảng các số nguyên. Nhiệm vụ của chúng ta là tìm bộ ba phần tử trong mảng đó với tích tối đa

Ví dụ

#include <bits/stdc++.h>
using namespace std;
//finding the maximum product
int maxProduct(int arr[], int n){
   if (n < 3)
      return -1;
   int max_product = INT_MIN;
   for (int i = 0; i < n - 2; i++)
      for (int j = i + 1; j < n - 1; j++)
         for (int k = j + 1; k < n; k++)
            max_product = max(max_product, arr[i] * arr[j] * arr[k]);
         return max_product;
}
int main() {
   int arr[] = { 10, 3, 5, 6, 20 };
   int n = sizeof(arr) / sizeof(arr[0]);
   int max = maxProduct(arr, n);
   if (max == -1)
      cout << "No Triplet Exists";
   else
      cout << "Maximum product is " << max;
   return 0;
}

Đầu ra

Maximum product is 1200