C++の2つの配列の合計によって形成されたセットのN番目のアイテムを検索します
この問題では、サイズmの2つのソートされた配列arr1[]とarr2[]と要素Nが与えられます。私たちのタスクは、2つの配列の合計によって形成されるセット内のN番目のアイテムを見つけることです。
コードの説明 −ここでは、要素1のarr1と要素1の合計で構成されるセットを作成します。つまり、sum =arr1 [i] + arr2 [j]です。ここで、i、j
問題を理解するために例を見てみましょう
出力
セットの要素は-
解決策のアプローチは、配列の要素の合計を見つけることによって、セットの要素を見つけることです。このために、ネストされたループ、arr1の要素を反復するための外側のループ、およびarr2の要素を反復するための内側のループを使用します。また、内部ループの反復ごとに、合計をセットに格納します。これにより、要素の重複は許可されません。すべての合計値が入力されたら、セットをトラバースしてN番目の要素を返します。
ソリューションの動作を説明するプログラム 入力
arr1[] = {3, 1, 5} , arr2[] = {6, 2, 8} , N = 4
説明
9 (3+6 and 1 +8) , 5 (3 + 2) , 11 (3+8, 5+6), 7 (1+6, 5+2), 3 (1+2), 13 (5+8).
The fourth element is 7.
ソリューションアプローチ
例
#include <iostream>
using namespace std;
void calcSumVariables(int sum[], int n) {
float SUMX = 0;
for (int i = 0; i < n; i++) {
SUMX += sum[i];
}
SUMX /= (n - 1);
for (int i = 0; i < n; i++)
cout<<"\nx"<<(i + 1)<<" = "<<(SUMX - sum[i]);
}
int main(){
int sum[] = {3, 8, 6, 7, 4, 5, 9 };
int N = sizeof(sum) / sizeof(sum[0]);
cout<<"The value of variables that form the sum are ";
calcSumVariables(sum, N);
return 0;
}
出力
The value of variables that form the sum are
x1 = 4
x2 = -1
x3 = 1
x4 = 0
x5 = 3
x6 = 2
x7 = -2
-
TwoSumIV-入力はC++のBSTです
二分探索木と1つのターゲット値があるとします。合計が指定されたターゲットと等しくなるように、BSTに2つの要素が存在するかどうかを確認する必要があります。 したがって、入力が次のような場合 その場合、出力はTrueになります。 これを解決するには、次の手順に従います- 配列を定義するv 関数inorder()を定義します。これはルートになります ルートがnullの場合、- 戻る 順序なし(ルートの左側) ルートの値をvに挿入 順序なし(ルートの左側) 関数findnode()を定義します。これにはkがかかります n:=vのサ
-
C ++を使用して、N階乗の合計の最後の2桁を検索します。
ここでは、最後の2桁を取得する方法を説明します。 N階乗の合計の単位桁と10桁。したがって、N =4の場合、1になります。 + 2! + 3! + 4! =33.したがって、単位の場所は3で、10の場所は3です。結果は33になります。 10の後、10の場所は0のままになります。N=10以上の場合、00になります。階乗数のN=1から10のグラフを作成できます。 これらの手順を使用してこの問題を解決できます- nの値が10未満の場合、(1!+ 2!+…+ n!)mod 10 それ以外の場合、nの値が10以上の場合、(1!+ 2!+…+ 10!)mod 10 =13 例 #inc