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

C++を使用してすべての要素が割り切れるような配列要素を見つけます


要素が少ない配列Aがあるとします。すべての要素をそれで分割できるように、Aから要素を見つける必要があります。 Aが[15、21、69、33、3、72、81]のようであるとすると、すべての数値は3で割り切れる可能性があるため、要素は3になります。

この問題を解決するために、Aの最小の数値を取得し、すべての数値を最小の数値で除算できるかどうかを確認します。はいの場合は数値を返し、そうでない場合はfalseを返します。

#include<iostream>
#include<algorithm>
using namespace std;
int getNumber(int a[], int n) {
   int minNumber = *min_element(a, a+n);
   for (int i = 1; i < n; i++)
      if (a[i] % minNumber)
      return -1;
   return minNumber;
}
int main() {
   int a[] = { 15, 21, 69, 33, 3, 72, 81 };
   int n = sizeof(a) / sizeof(int);
   cout << "The number is: "<< getNumber(a, n);
}

出力

The number is: 3

  1. c ++を使用して、左側の配列の合計が右側の配列の合計と等しくなるような配列内の要素を検索します。

    配列Aがあり、n個の要素があるとします。私たちのタスクは、各サブアレイの合計が同じになるように、配列Aを2つのサブアレイに分割することです。配列A=[2、3、4、1、4、5]とすると、出力は1であるため、1の前と後のサブ配列が取得されます。 [2、3、4]、および[4、5]。 この問題を解決するために、right_sumの最初の要素を除く配列全体を計算します。それがパーティショニング要素であると考えてください。左から右にトラバースします。 right_sumから要素を減算し、left_sumに要素を追加すると、right_sum=left_sumの場合にポイントが取られます。 例 #incl

  2. C ++でa%b =kとなるような配列内のすべてのペア(a、b)を検索します

    配列Aがあるとすると、その配列から、a%b =kとなるようにすべてのペア(a、b)を取得する必要があります。配列がA=[2、3、4、5、7]、k =3であるとすると、ペアは(7、4)、(3、4)、(3、5)、(3、7)になります。 これを解決するために、リストをトラバースして、指定された条件が満たされているかどうかを確認します。 例 #include <iostream> using namespace std; bool displayPairs(int arr[], int n, int k) {    bool pairAvilable = true;