C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++での3つの数値の最大積


整数配列があるとします。積が最大である3つの数値を見つけて、最大の積を返す必要があります。

したがって、入力が[1,1,2,3,3]の場合、3つの要素は[2,3,3]であるため、出力は18になります。

これを解決するには、次の手順に従います-

  • 配列番号を並べ替える

  • l:=numsのサイズ

  • a:=nums [l-1]、b:=nums [l-2]、c:=nums [l-3]、d:=nums [0]、e:=nums [1]

  • a * b*cおよびd*e * a

    の最大値を返します

理解を深めるために、次の実装を見てみましょう-

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   int maximumProduct(vector<int>& nums) {
      sort(nums.begin(), nums.end());
      int l = nums.size();
      int a = nums[l - 1], b = nums[l - 2], c = nums[l - 3], d = nums[0], e = nums[1];
      return max(a * b * c, d * e * a);
   }
};
main(){
   Solution ob;
   vector<int> v = {1,1,2,3,3};
   cout << (ob.maximumProduct(v));
}

入力

{1,1,2,3,3}

出力

18

  1. C++の配列内のすべての素数の積

    いくつかの要素を持つ整数配列arr[]が与えられた場合、タスクはその数のすべての素数の積を見つけることです。 素数は、1で割った数、またはその数自体です。または、素数は、1とその数自体を除いて他の数で割り切れない数です。 1、2、3、5、7、11など 与えられた配列の解を見つける必要があります- 入力 −arr [] ={11、20、31、4、5、6、70} 出力 − 1705 説明 −配列の素数は− 11、31、5であり、それらの積は1705 入力 − arr [] ={1、2、3、4、5、6、7} 出力 − 210 説明 −配列の素数は− 1、2、3、5、7

  2. 2つの数値を乗算するC++プログラム

    2つの数値aとbを乗算すると、それらの積が得られます。 aの値はbの値の何倍にも加算され、aとbの積が得られます。 たとえば。 5 * 4 = 20 7 * 8 = 56 9 * 9 = 81 *演算子を使用して2つの数値を乗算するプログラム *演算子を使用して2つの数値を乗算するプログラムは、次のとおりです。- 例 #include <iostream> using namespace std; int main() {    int a = 6, b = 8;    cout<<"Product of "