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

C++で指定された制約の下で重複を検索します


6つの異なる番号のリストがあるとします。 1つの数字だけが5回繰り返されます。したがって、配列には合計10個の要素があります。 2つの比較のみを使用して重複する番号を見つけます。リストが[1、2、3、4、4、4、4、4、5、6]のような場合、出力は4です。

数字は10個しかないため、重複する数字の種類に関係なく、数字の範囲はインデックス3から5になります。これらのインデックスを確認することで、結果を見つけることができます。

#include<iostream>
using namespace std;
int getDuplicate(int array[]) {
   if (array[3] == array[4])
      return array[3];
   else if (array[4] == array[5])
      return array[4];
   else
      return array[5];
}
int main() {
   int a[] = {1, 2, 3, 4, 4, 4, 4, 4, 5, 6};
   cout << "Duplicate element: " << getDuplicate(a);
}

出力

Duplicate element: 4

  1. C++で指定されたインデックスを持つNフィボナッチ数のGCDを検索します

    ここでは、指定されたインデックスを持つn個のフィボナッチ項のGCDを見つける必要があります。したがって、最初に最大インデックスを取得し、フィボナッチ項を生成する必要があります。いくつかのフィボナッチ項は次のようになります:0、1、1、2、3、5、8、13、21、34、…..インデックスは開始です0から。したがって、0 thの要素 インデックスは0です。インデックス{2、3、4、5}でフィボナッチ項のgcdを見つける必要がある場合、項は{1、2、3、4}であるため、これらの数値のGCDは1です。 このタスクを実行するために、1つの興味深いアプローチを使用します。 GCD(Fibo(i)、Fi

  2. 合計とGCDがC++で与えられている2つの数値を見つけます

    2つの数aとbの合計とgcdがあります。数字aとbの両方を見つける必要があります。それが不可能な場合は、-1を返します。合計が6でgcdが2であるとすると、数値は4と2になります。 このアプローチは、GCDが与えられると、その数がその倍数になることが知られているようなものです。次の手順があります 最初の数値をGCDとして選択すると、2番目の数値はsum − GCDになります。 前の手順で選択した数値の合計が合計と同じである場合は、両方の数値を出力します。 それ以外の場合は、数値が存在しないため、-1を出力します。 例 #include <iostream>