-
mで割り切れ、C++の偶数の位置に数字dがある範囲内の数値の数
整数の範囲、除数として使用される変数m、および桁dが偶数の位置にあるかどうかを確認するために使用される変数dが与えられ、タスクは、これらの数値の数を計算することです。変数mで割り切れ、偶数の位置に数字dがある範囲。 例 入力- int start =20、end =50、d =8、m =4 出力- mで割り切れ、偶数の位置に数字dがある範囲の数値の数は次のとおりです。2 説明- 範囲は20から50までです。したがって、数字d、つまり8の可能な数値は28、38、および48であり、偶数の位置、つまり2に8があり、数値24および48はm、つまり4で割り切れるので、カウントは2です。 入力-
-
C++で数字dが正確にK回出現する範囲内の数値の数
変数から始まり、たとえば開始から変数の終わりまでの整数範囲と、変数kおよびdが与えられます。タスクは、dが正確にk回発生するような範囲の桁数dを計算することです。 例 入力- int start =10、int end =100、d =4、K =2 出力- 数字dが正確にK回出現する範囲内の数の数は次のとおりです:1 説明- 範囲は10から100までです。したがって、数字d、つまり4の可能な数字は、正確にkで発生します。つまり、2回は44であるため、カウントは1です。 入力- int start =10、end =100、d =6、m =1 出力- 数字dが正確にK回出現する範
-
C++で他のバイナリ文字列とのXORが0である巡回置換の数
2つのバイナリ文字列(たとえば、1と0の組み合わせを含むstr_1とstr_2)が与えられます。タスクは、最初に、文字列str_1から可能なさまざまな順列の「SET」と言うセットを形成することです。次に、のXOR演算を実行します。要素がバイナリ文字列str_2で設定され、XORが0を返しているかどうかを確認します。はいの場合は、ケースを検討します。それ以外の場合は無視します。 例を挙げて理解しましょう。 例 入力- string str_1 =1111、string str_2 =1111 出力- 他のバイナリ文字列とのXORを0とする巡回置換の数は次のとおりです。4 説明- 文字
-
C++でNを除算する際の商よりも多くのセットビットを持つ除数の数
整数が与えられます。たとえば、除数と見なされるNは、1-Nから始まる数で除算されます。タスクは、より多くのセットビット数を持つ除数の数を計算することです。与えられた数Nで割ったときの商。 例 入力- int N =6 出力- Nを除算する際の商よりも多くのセットビットを持つ除数の数は次のとおりです。5 説明- まず、数値Nを1-Nから始まる数値で除算し、除数と商のセットビットを計算します。 N =6/1(1)=6(2)=1<2=考慮されない N =6/2(1)=3(2)=2 =2=考慮される 1=考慮される N =6/4(1)=1(1)=1 =1=考慮される 1=考慮される 1=
-
C++で異なる値を持つ連続した要素を持つ配列の数
入力として3つの変数size、max_val、last_elementが与えられます。目標は、サイズ要素があり、1からmax_valまでの要素があり、最初の要素が常に1で、最後の要素が常にmax_valになるような方法で形成できるさまざまな配列の数を見つけることです。また、2つの連続する要素が同じでないことを確認してください。 例を挙げて理解しましょう。 例 入力- サイズ=5、max_val =3、last_element =3 出力- 値が異なる連続した要素を持つ配列の数は次のとおりです。5 説明- 配列は次のようになります:- [1、2、3、1、3]、[1、2、3、2、3]
-
重みが正確にXであり、C++で重みMの少なくとも1つのエッジを持つパスの数をカウントします。
無限のレベルを持つことができるツリー、ノードが持つことができる子の数を格納する可変の子、パスに関連付けられた重みを格納する可変の重み、およびパスとタスクを格納する可変のパスが与えられます。 Xに等しい重みを持つパスの数を計算し、指定された重みを持つエッジが少なくとも1つ存在する必要があります。 例 入力- int child =4、weight =4、path =4; 出力- 重みが正確にXであり、重みMの少なくとも1つのエッジを持つパスの数は次のとおりです。1 説明- 4つの子が4つのパスに接続されており、パスに4の重みが関連付けられているノードが与えられているためです。したがって、
-
C++の2D文字配列内の指定された文字列の数のカウント
次の問題は日刊紙のクロスワードの例です。ここでは2次元の文字配列が与えられ、問題のステートメントは2次元の文字配列の迷路から与えられた単語を見つけることです。検索アルゴリズムには、からの個々の文字の検索が含まれます。 上から下へ 、右から左へ 逆もまた同様ですが、斜めではありません。 例を挙げて理解しましょう 入力- 文字列ワード-LAYS 2D文字列[]-{LOAPYS、 KAYSOT、 LAYSST、 MLVAYS、 LAYSAA、 LAOYLS}; 出力- 2D文字配列内の指定された文字列の数:7 説明- 単語の文字列配列が与えられているので、それらから、Top-Bottom
-
C ++の配列内のAP(等差数列)サブシーケンスの数
整数要素を含む配列arr[]が与えられます。目標は、arr[]内の等差数列サブシーケンスの数をカウントすることです。 arr[]内の要素の範囲は[1,1000000]です。 空のシーケンスまたは単一の要素もカウントされます。 例を挙げて理解しましょう。 例 入力- arr [] ={1,2,3} 出力- 配列内のAP(等差数列)サブシーケンスの数は次のとおりです。8 説明- 次のサブシーケンスがAPを形成します:- {}、{1}、{2}、{3}、{1,2}、{2,3}、{1,3}、{1,2,3} 入力- arr [] ={2,4,5,8} 出力- 配列内のAP(等差数列
-
C++で特定の操作を実行した後の最後の文字列
このチュートリアルでは、次の問題を解決します。 文字aとbのみを含む文字列が与えられた場合、私たちのタスクはサブ文字列 abを削除することです。 文字列から。そして残りの文字列を印刷します。 ここでは、問題を解決するためのアイデアは非常に簡単です。 aとbのみの文字列はすべて、最後にaまたはbのいずれかに縮小されます。 問題を解決するための手順を見てみましょう。 文字列を初期化します。 aとbの2つのカウンター変数を初期化します。 指定された文字列を繰り返し処理します。 aとbを数える aとbの周波数から最大値を見つけます。 2つの違いを印刷します
-
C ++で「a」が非常に大きい(a ^ b)%mを検索します
このチュートリアルでは、方程式(a b )を解きます。 )%mここで、aは非常に大きな数です。 方程式(a b )%m =(a%m)*(a%m)...b_times。 %mの値を見つけて、それをb倍することで、問題を解決できます。 問題を解決するための手順を見てみましょう。 番号a、b、およびmを初期化します。 a%mを見つける関数を記述します。 番号を0で初期化します。 文字列形式で数値を繰り返し処理します。 数字に最後の桁を追加します。 それらを法とする数で数を更新します。 %mの値を取得します。 b回繰り返すループを作成します
-
C++の除数のリストからAとBを見つけます
このチュートリアルでは、以下の問題を解決します。 整数の配列が与えられた場合、2つの数値AとBを見つける必要があります。配列内の残りのすべての数値はAとBの約数です。 数値がAとBの両方の約数である場合、その数値は配列に2回存在します。 問題を解決するための手順を見てみましょう。 配列の最大数は、AとBの数の1つです。Aだとしましょう。 これで、Bは2番目に大きい数、またはAの約数ではない数になります。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; void findTheDivis
-
C++で2^(2 ^ A)%Bを検索します
このチュートリアルでは、方程式2 ^(2 ^ A)%Bを評価するプログラムを作成します。 再帰関数を使用して方程式の値を見つけます。問題を解決するための手順を見てみましょう。 2つの引数AとBを取る再帰関数を記述します。 Aが1の場合、4%Bを2 ^(2 ^ 1)%B =4%Bとして返します。 それ以外の場合は、A-1とbを使用して関数を再帰的に呼び出します。 結果を返します^2%B。 ソリューションを印刷する 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; long
-
C ++で(1 ^ n + 2 ^ n + 3 ^ n + 4 ^ n)mod5を検索します
このチュートリアルでは、次の問題を解決します。 整数nが与えられた場合、(1 n を見つける必要があります +2 n +3 n +4 n )%5 数(1 n +2 n +3 n +4 n )nが大きい場合、非常に大きくなります。長整数にも適合できません。したがって、別の解決策を見つける必要があります。 数値1、2、3、4、5、6、7、8、9の方程式を解くと、それぞれ10、30、100、354、1300、4890、18700、72354、282340の値が得られます。 方程式の結果を注意深く観察してください。方程式の結果の最後の桁が4番目の数値ごとに繰り返
-
C ++プログラムの特定の配列で固定小数点(インデックスに等しい値)を見つける
このチュートリアルでは、次の問題を解決します。 配列が与えられたら、インデックスに等しい数を見つけます。簡単な問題です。 指定された配列を繰り返し処理し、配列要素と等しいインデックスを返します。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; int linearSearch(int arr[], int n) { for(int i = 0; i < n; i++) { if(arr[i] == i) { &nbs
-
C++で最大配列要素を分割する数を見つけます
このチュートリアルでは、指定された配列で最大要素に分割される数を見つけます。 問題を解決するための手順を見てみましょう。 配列と変数を初期化して、結果を保存します。 アレイを繰り返し処理します。 カウンター変数を初期化します。 アレイをもう一度繰り返します。 現在の要素が配列要素で割り切れる場合は、カウンターをインクリメントします。 現在のカウントが最大の場合は、結果を更新します。 結果を印刷します。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; i
-
C++で数字との合計がNに等しい数Xを見つけます
このチュートリアルでは、数字を含むいくつかが指定された数Nに等しい数を見つけます。 考え方は簡単です。与えられた数の左右100個の数をチェックします。 N≤1000000000であり、合計が100を超えることはありません。 問題を解決するための手順を見てみましょう。 番号を初期化します。 100回繰り返すループを作成します。 n--iおよびn+iの値を取得します。 数字の合計を見つけて追加します。 それらのいずれかがNに等しい場合は、それらを印刷します。 例 コードを見てみましょう。 #include <bits/stdc++.h> us
-
C++のBSTで指定された合計を持つペアを検索します
このチュートリアルでは、合計が二分探索木の指定された数に等しいペアを見つけるプログラムを作成します。 ペアを見つけるために、ツリーの値を2つの異なるリストに格納します。問題を解決するための手順を見てみましょう。 二分木の構造体ノードを作成します。 二分探索木に新しいノードを挿入する関数を記述します。 二分探索木では、ルートよりも小さい要素はすべて小さく、右は大きくなることを忘れないでください。 2つの空のリストを初期化して、ツリーの左右のノードを保存します。 左または右のノードがNULLになるか、両方のリストが空でなくなるまで、二分探索木を繰り返します。
-
C++で配列内のパーティションポイントを検索します
このチュートリアルでは、パーティションポイントに残されたすべての要素が小さく、パーティションポイントに右にあるすべての要素が大きい配列内のパーティションポイントを見つけます。 問題を解決するための手順を見てみましょう。 アレイを初期化します。 アレイを繰り返し処理します。 0からIまで繰り返し、各値が現在の値よりも小さいかどうかを確認します。 Iからnまで繰り返し、各値が現在の値よりも大きいかどうかを確認します。 ボットが条件を満たした場合は、値を返します。 パーティションポイントを印刷します。 例 コードを見てみましょう。 #include &
-
C++の2D配列でピーク要素を検索します
このチュートリアルでは、2D配列のピーク要素を見つけるプログラムを作成します。 要素の周囲のすべての要素が要素よりも小さい場合、その要素はピーク要素と呼ばれます。 問題を解決するための手順を見てみましょう。 ダミーデータを使用して2Dアレイを初期化します。 2Dアレイを繰り返し処理します。 まず、2D配列のコーナー要素を確認します。 次に、2D配列の最初と最後の行の条件を記述します。 次に、2Dアレイの最初と最後の列を確認します。 そして最後に、真ん中の要素を確認します。 いずれの場合も、現在の要素をその周囲の要素と比較する必要があります。上記の条
-
C++のリンクリストでピーク要素を見つけます
このチュートリアルでは、指定されたリンクリストからピーク要素を見つけるプログラムを作成します。 ピーク要素は、周囲の要素よりも大きい要素です。問題を解決するための手順を見てみましょう。 リンクリストの構造体ノードを作成します。 ダミーデータを使用してリンクリストを作成します。 リンクリストが空であるか長さが1であるかなどの基本ケースを確認します。 最初の要素をpreviousという変数に格納します。 リンクリストを繰り返し処理します。 現在の要素が前の要素および次の要素よりも大きいかどうかを確認します。 上記の条件が満たされている場合に戻ります。