-
C++で3で割り切れるサイズ2または3のグループの数
数の配列が与えられた場合、3で割り切れるサイズ2と3のグループの数を見つける必要があります。2と3の組み合わせ数の合計を取得し、それらが3で割り切れるかどうかを確認できます。 例を見てみましょう。 入力 arr = [1, 2, 3, 4] 出力 4 3で割り切れる4つの組み合わせがあります。組み合わせは... [1, 2] [2, 4] [1, 2, 3] [2, 3, 4] アルゴリズム アレイを初期化します。 サイズ2のすべての組み合わせを取得するには、2つのループを記述します。 各グループの合計を計算します。 合計が3で割り切れる場合は、カウントを
-
C++で指定された範囲内の等しい要素を持つインデックスの数
配列とインデックス範囲が与えられます。与えられた範囲で等しい隣接する要素の総数を数える必要があります。 例を見てみましょう。 入力 arr = [1, 2, 2, 2, 3, 3, 4] lower = 1 upper = 5 出力 3 アルゴリズム 配列とインデックスの範囲を初期化します。 範囲の下位インデックスから範囲の上位インデックスまで反復するループを記述します。 前の要素または次の要素の要素を比較します。 等しい場合はカウントを増やします。 カウントを返します。 実装 以下は、C++での上記のアルゴリズムの実装です #include
-
C++のセットビット数が奇数の整数の数
数nが与えられた場合、バイナリ形式で奇数のセットビットを持つ整数の数を見つける必要があります。例を見てみましょう。 入力 n = 10 出力 5 1から10までの5つの整数があり、バイナリ形式のセットビットの数は奇数です。 アルゴリズム 番号Nを初期化します。 設定されたビット数をバイナリ形式でカウントする関数を記述します。 カウントを0に初期化します。 1から繰り返すループを作成します N。へ 各整数のセットビットを数えます。 設定されたビット数が奇数の場合は、数を増やします。 カウントを返します。 実装 以下は、C++での上記の
-
C++の2つのポイント間の積分ポイントの数
このチュートリアルでは、指定された2つのポイント間の整数ポイントの数を見つけるプログラムを作成します。 与えられた2つのポイント間のポイント数はgcd(abs(x2)、abs(y1-y2))-1になります。 線の結合がx軸に平行である場合、整数点の数はabs(y1 --y2)-1になります。 線の結合がy軸に平行である場合、整数点の数はabs(x1-x2)-1になります。 両方の点のx点が等しい場合、それらはx軸に平行です。両方の点のy点が等しい場合、それらはy軸に平行です。 例を見てみましょう。 入力 pointOne = [1, 5] pointTwo = [1, 3] 出
-
方程式x1+x2+…の積分解の数。 + xN =C++ではk
方程式の解は次のとおりです 方程式の非負の積分解の数は$\left(\ begin {array} {c} n-k + 1 \\ k \ end {array} \ right)$ 方程式の正の積分解の数は$\left(\ begin {array} {c} k-1 \\ n-1 \ end {array} \ right)$ 両方を追加して、必要な答えを取得します。例を見てみましょう。 入力 n = 4 k = 7 出力 140 アルゴリズム 番号nとkを初期化します。 負でない数と正の数の積分解を見つけます。 両方を追加します。 答えを返します。 実装 以下は、C
-
C++の文字列の右側にある大きい要素の数
文字列を指定すると、各文字の右側にある大きな要素の数を数える必要があります。例を見てみましょう。 入力 string = "abc" 出力 2 1 0 右側にあるよりも大きな要素が2つあります。 右側にbよりも大きい要素が1つあります。 右側にcよりも大きい要素が0個あります。 アルゴリズム 文字列を初期化します。 配列を初期化して、カウントを追跡します。 文字列を反復処理するために2つのループを記述します。 一度に1文字ずつ取り、それ以降のすべての文字と比較します。 現在の要素が次の要素よりも小さい場合は、カウント配列の対応する
-
C++で指定された数値の2進表現の先行ゼロの数
数値が与えられると、そのバイナリ表現で先行ゼロの数を見つける必要があります。合計ビット数を32と仮定します。例を見てみましょう。 入力 5 出力 25 5のバイナリ表現は00000...00101です。先行ゼロの数は29です。 アルゴリズム 番号nを初期化します。 nのバイナリ表現を見つけます。 ビットの総数、つまり32からnのバイナリ表現の長さを引きます。 結果を返します。 実装 以下は、C++での上記のアルゴリズムの実装です #include <bits/stdc++.h> using namespace std; int getLeadingZeroesCou
-
C++のn-aryツリーのすべてのノードのサブツリーにあるリーフノードの数
このチュートリアルでは、n-aryツリー内のすべてのノードのリーフノードの数を見つけるプログラムを作成します。 n-aryツリーが与えられた場合、すべてのサブツリーのリーフノードの数を見つける必要があります。例を見てみましょう。 入力 N = 8 tree = [[2, 3], [], [4, 5, 6], [7, 8], [], [], [], []] 出力 1->5 2->1 3->4 4->2 5->1 6->1 7->1 8->1 アルゴリズム 好きなツリーでn-aryツリーを初期化します。 DFSを使用してツリーを
-
C++で順列を推測するために必要な移動の数
数Nが与えられた場合、最悪のシナリオで順列を推測するために必要な動きを見つける必要があります。順列を推測するために必要な移動の数はn!になります。例を見てみましょう。 入力 5 出力 129 5つの要素がある場合、5つの推測方法があり、4つの要素があり、1まで続く場合は4つの方法があります。 アルゴリズム 番号nを初期化します。 カウントを1に初期化します。 1からnまで繰り返すループを作成します。 カウントに現在の数値を掛けます。 カウントを返します。 実装 以下は、C++での上記のアルゴリズムの実装です #include <bits/stdc++.h> us
-
C++でのn桁のステップ数
ステッピング番号は、連続する桁の差が1である番号です。桁数を表す番号nが与えられます。 n桁のステップ数の総数を数える必要があります。 例を見てみましょう。 入力 2 出力 17 2桁の最小数は10で、2桁の最大数は99です。それらの間に17のステップ番号があります。 アルゴリズム 番号nを初期化します。 カウントを0に初期化します。 n桁の最小数、つまりpow(10、n-1)を見つけます。 n桁の最大数、つまりpow(10、n)-1を見つけます。 最小のn桁の数字から最大のn桁の数字まで繰り返すループを作成します。 現在の番号がステップ番号であるかどうかを確認します。 数字
-
C++で右側にあるNGEの数
ターゲット要素の配列とインデックスが与えられます。右側の指定された要素よりも大きい要素の数を数える必要があります。例を見てみましょう。 入力 arr = [2, 3, 5, 1, 4, 2, 6] index = 3 出力 3 ターゲットインデックス要素は1です。右側に1より大きい3つの要素、つまり...、4、2、6があります。 アルゴリズム ターゲット要素の配列とインデックスを初期化します。 インデックスが配列の長さ以上の場合は、-1を返します。 指定されたインデックスの次の要素から繰り返すループを記述します。 要素がターゲット要素よりも大きい場合は、カウントを増やします。
-
C++のn-aryツリーで指定された値より大きいノードの数
n-aryツリーと数が与えられた場合、与えられた数よりも大きいノードの数を数える必要があります。例を見てみましょう。 入力 tree = [[4], [1, 2], [3, 5]] n = 2 出力 3 nより大きい値を持つノードが3つあります。 アルゴリズム n-aryツリーを初期化します。 カウントを0に初期化します。 値がnより大きいノードを見つけたら、カウントを1つ増やします。 現在のノードの子を取得します。 すべての子を繰り返し処理し、同じ関数を再帰的に呼び出してノードをカウントします。 カウントを返します。 実装 以下は、C++で
-
C++での和分方程式の非負の積分解の数
このチュートリアルでは、和分方程式の非負の積分解を見つけるプログラムを作成します。 和分方程式はx+y + z=nです。数nが与えられ、方程式の解の数を見つける必要があります。例を見てみましょう。 入力 2 出力 6 ソリューションは 0 0 2 0 1 1 0 2 0 1 0 1 1 1 0 2 0 0 アルゴリズム 数mを初期化します。 カウントを0に初期化します。 3つのネストされたループを記述して、3つの数値のすべての組み合わせを取得します。 方程式の検証を確認してください。 現在の数値が方程式を満たしている場合は、カウントを増やします。
-
C++の線方程式を満たす順序付けられた点のペアの数
満たすべき直線方程式はy=mx+cです。配列mとcが与えられた場合、直線方程式を満たす次数点の数を見つける必要があります。例を見てみましょう。 入力 arr = [1, 2, 3] m = 1 c = 1 出力 2 直線方程式を満たすペアは 2 1 3 2 アルゴリズム 配列、m、およびcを初期化します。 2つのループを記述して、配列からすべてのペアを取得します。 ペアが直線方程式を満たしているかどうかを確認します。 線の方程式に値を代入することで、方程式が満たされているかどうかを確認できます。 ペアが線の方程式を満たしている場合は、カウントを増やします。 カウントを返します
-
C++で合計がKで割り切れる最初のN個の自然数からのペアの数
数NとKが与えられた場合、合計がKで割り切れるペアの数を数える必要があります。例を見てみましょう。 入力 N = 3 K = 2 出力 1 合計がKで割り切れるペアは1つだけです。ペアは(1、3)です。 アルゴリズム NとKを初期化します。 Nまでの自然数を生成し、配列に格納します。 カウントを0に初期化します。 2つのループを記述して、配列からすべてのペアを取得します。 すべてのペアの合計を計算します。 ペアの合計がKで割り切れる場合は、カウントをインクリメントします。 カウントを返します。 実装 以下は、C++での上記のアルゴリズムの実装です #include &
-
C++で合計が2の累乗であるペアの数
配列が与えられた場合、合計が2の累乗であるペアの数を見つける必要があります。例を見てみましょう。 入力 arr = [1, 2, 3] 出力 1 合計が2の累乗であるペアは1つだけで、ペアは(1、3)です。 アルゴリズム 乱数を使用して配列を初期化します。 カウントを0に初期化します。 2つのループを記述して、配列のすべてのペアを取得します。 すべてのペアの合計を計算します。 ビット単位のANDを使用して、合計が2の累乗であるかどうかを確認します。 カウントが2の累乗の場合は、カウントを増やします。 カウントを返します。 実装 以下は、C++での上記のアルゴリズムの実装
-
C++の奇数としてビットごとのORを持つペアの数
配列が与えられると、ビットごとのORが奇数であるペアの数を見つける必要があります。例を見てみましょう。 入力 arr = [1, 2] 出力 1 ビットごとのORが奇数であるペアは1つだけです。そして、ペアは(1、2)です。 アルゴリズム 乱数を使用して配列を初期化します。 カウントを0に初期化します。 配列のペアを取得するために2つのループを記述します。 すべてのペア間のビットごとのORを計算します。 結果が奇数の場合は、カウントを増やします。 カウントを返します。 実装 以下は、C++での上記のアルゴリズムの実装です #include <bits/stdc++.
-
C++で合計が最大のペアの数
配列が与えられた場合、合計が最大のペアの数を見つける必要があります。例を見てみましょう。 入力 arr = [3, 6, 5, 2, 1, 2, 3, 4, 1, 5] 出力 2 最大ペアの合計は10です。最大合計のペアは2つあります。 (5、5)と(6、4)です。 アルゴリズム 乱数を使用して配列を初期化します。 最大合計を最小に初期化します。 2つのループで配列を反復処理します。 ペアの最大合計を見つけます。 カウントを0に初期化します。 ここで、アレイをもう一度繰り返します。 現在のペアの合計が最大のペアの合計と等しい場合は、カウントを増やします。 ペア
-
C++を使用してN番目の偶数の長さの回文を検索します
C + +を使用したことがある場合は、回文数について聞いたことがあるはずです。したがって、このガイドでは、適切な例を使用して、「N番目の偶数長の回文」に関するすべてを説明します。回文数は、それらを逆にした後も同じままである数です。数字だけでなく、文字を逆にしてもスペルが変わらない単語。例- 数字={1,121,131,656,1221,1551} 言葉={saas、malayalam、level、mom} 複雑に見えますが、どのシステムでも非常に簡単に実行できます。それでは、回文について簡単に説明しましょう。 N番目の偶数の長さの回文数 11,22,33,44,55,66,77,88
-
整数と浮動小数点数を入力として受け取り、それらの合計を返すC++プログラム
2つの数値aとbがあり、aは整数、bは浮動小数点であるとします。標準入力からそれらを取得し、合計を表示する必要があります。 したがって、入力がa =10 b =56.23のような場合、出力はSum:66.23になります。 これを解決するには、次の手順に従います- 出力を標準出力デバイスに表示するには、抽出演算子(<<)を使用できます。 )を使用できます。 例 理解を深めるために、次の実装を見てみましょう- #include <iostream> using namespace std; int main(){ int a;