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

非除算条件でソートされた配列を見つけるためのC++コード


数nがあるとします。 n個の要素を持つ配列Aを作成するとします。 Aは昇順で並べ替えられ、すべての要素が異なります。 2からnまでのすべてのiについて(配列インデックスが1から始まることを考慮)A[i]はA[i-1]で割り切れません。

したがって、入力がn =7の場合、出力は[2、3、4、5、6、7、8]

になります。

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

for initialize i := 2, when i <= n + 1, update (increase i by 1), do: print i

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

#include <bits/stdc++.h>
using namespace std;
void solve(int n){
   for (int i = 2; i <= n + 1; i++){
      printf("%d, ", i);
   }
}
int main(){
   int n = 7;
   solve(n);
}

入力

7

出力

2, 3, 4, 5, 6, 7, 8

  1. C++の整数の配列で最大の積を持つペアを見つけます

    配列Aがあるとすると、n個の異なる要素があります。 xとyの積が最大になるように、配列Aからペア(x、y)を見つける必要があります。配列には正または負の要素が含まれる場合があります。配列がA=[-1、-4、-3、0、2、-5]のようであるとすると、積が最大になるため、ペアは(-4、-5)になります。 この問題を解決するには、positive_max、positive_second_max、negative_max、negative_second_maxの4つの数値を追跡する必要があります。最後に、(positive_max *positive_second_max)が(negative_ma

  2. C++で許可されている重複を含む配列内の固定小数点を検索します

    ここでは、特定の配列で固定小数点を見つける方法を説明します。配列では、値がそのインデックスと同じである場合、1つの要素は固定小数点として示されます。このプログラムは、存在する場合は値を返し、そうでない場合は-1を返します。配列は負の数も保持できます。そして、データ要素がソートされます。ここでは、重複する要素を配列に含めることができます。 ここでは、二分探索アプローチを使用して、O(log n)時間でこの問題を解決します。ただし、いくつかの変更が必要です。通常の二分探索を使用すると、重複する要素に対して失敗する可能性があります。左をチェックするには、min(mid – 1、midValue)か