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