Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 배열에서 삼중항(크기 3의 하위 시퀀스)의 최대 곱

<시간/>

이 튜토리얼에서는 배열에서 삼중항(크기 3의 부분 수열)의 최대 곱을 찾는 프로그램에 대해 논의할 것입니다.

이를 위해 정수 배열이 제공됩니다. 우리의 임무는 해당 배열에서 최대 곱을 가진 요소의 삼중항을 찾는 것입니다.

예시

#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;
}

출력

Maximum product is 1200