-
リンクリストがC++の循環リンクリストであるかどうかを確認します
ここでは、リンクリストをチェックするための鍬が循環リンクリストであるかどうかを確認します。リンクリストが循環しているかどうかを確認するには、ヘッダーノードを他の変数に格納し、リストをトラバースします。ノードの次の部分でnullが発生した場合は循環しません。そうでない場合は、次のノードは保存されているノードと同じかどうか、そうである場合は循環します。 例 #include <iostream> using namespace std; class Node{ public: int data; Node *
-
リンクリストがC++でペアワイズソートされているかどうかを確認します
n個の要素を持つリストLがあります。リストがペアごとにソートされているかどうかを確認する必要があります。リストが{8、10、18、20、5、15}のようなものだとします。これは、(8、10)、(18、20)、(5、15)がソートされるようにペアごとにソートされます。リストに奇数の要素がある場合、最後の要素は無視されます。 アプローチは単純すぎます。数字を左から右にトラバースします。 2つの連続する要素が取得され、それらがソートされているかどうかを確認します。いずれかのペアがソートされていない場合はfalseを返し、ペアが見つからない場合、つまりソートされていない場合はtrueを返します。 例
-
数値がC++で異常な数値であるかどうかを確認します
ここでは、数が異常な数であるかどうかがわかります。数の最大の素因数が数の平方根よりも厳密に大きい場合、その数は異常であると言われます。異常な数のいくつかは次のとおりです:2、3、5、6、7、10、11、13、14、15、17、19、20、21、22、23、26、28、29、31、33、34 、35、37、38、39、41、42、43、44、46 これを解決するために、最大の素因数を見つけて、その素因数が数の平方根より大きいかどうかを確認します。はいの場合、その番号は異常な番号です。それ以外の場合はそうではありません。 例 #include <iostream> #include
-
数値がC++でBleakであるかどうかを確認します
ここでは、数値がブリークであるかどうかを確認します。正の数xとxに設定されたビット数の合計として表すことができない場合、その数は暗いと言われます。したがって、x + set_bit_count(x)は、負でない数xの場合、nと等しくありません。 概念は非常に単純です。設定されたビット数+数値が数値と同じでない場合、それはブリークです。それ以外の場合はそうではありません。 例 #include <iostream> using namespace std; int set_bit_count(int x) { unsigned int bit_count
-
ある数がC++の別の数のすべての素数除数で割り切れるかどうかを確認します
2つの数字があるとします。数がすべての素因数で割り切れるか、2番目の数で割り切れるかどうかを確認する必要があります。数が120であると仮定します。素因数は{2、3、5}、別の数は75、ここでは素因数は{3、5}です。 120も3と5で割り切れるので、決定は「はい」です。 1の場合、GCDには素数除数が含まれます。これはxも除算します(xを最初の数として)。 2番目の数y/GCDがそのような一意の素数除数を持っている場合、すべての一意の素数除数がある場合。再帰を使用してペア(x、y / GCD)の一意性を見つける必要があります。 例 #include <iostream> #incl
-
特定の製品とのペアがC++のマトリックスに存在するかどうかを確認します
次数NxMの行列が1つあり、積Kがあります。タスクは、指定された積のペアが行列に存在するかどうかを確認することです。 行列が次のようなものであると仮定します- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Kが42の場合、(6、7)のようなペアがあります この問題を解決するために、ハッシュを使用します。行列のすべての要素を取得してハッシュテーブルを作成します。行列のトラバースを開始し、トラバースしながら、行列の現在の要素が指定された積で割り切れるかどうかを確認します。積
-
特定の製品とのペアがC++のリンクリストに存在するかどうかを確認します
一連の要素があります。そして、積K。タスクは、リンクリストにKと同じ積の2つの数字が存在するかどうかを確認することです。2つの数字がある場合はそれらを印刷し、3つ以上の数字がある場合はそれらのいずれかを印刷します。 。リンクリストがこの{2、4、8、12、15}のようで、k値が16であるとすると、(2、8)が返されます。 ハッシュ手法を使用してこれを解決します。 1つのハッシュテーブルを取得し、すべての要素を0としてマークします。リンクリストに存在する場合は、ハッシュテーブルですべての要素を1として繰り返しマークします。次に、リンクリストのトラバースを開始し、指定された製品が現在の要素で割り
-
C ++のゲーム理論(アルファベータプルーニング)のミニマックスアルゴリズム
説明 Aplha-Betaプルーニングは、ミニマックスアルゴリズムで使用される最適化手法です。このアルゴリズムの背後にあるアイデアは、より良い動きがすでに存在するため、評価する必要のないゲームツリーの枝を切り取っています。 このアルゴリズムは2つの新しいフィールドを導入します- アルファ-これは、マキシマイザープレーヤーが現在のレベルまたはそれ以上のレベルで保証できる最良の値(最大)です ベータ-これは、最小化プレーヤーが現在のレベルまたはそれ以上のレベルで保証できる最高の値(最小)です。 例 ゲームツリーが-の場合 arr [] = {13, 8, 24, -5, 23, 15,
-
C++のN個の数値によって形成されるN/2ペアの合計の2乗の合計を最小化します
問題の説明 n個の要素の配列が与えられます。タスクは、n/2ペアの二乗和が最小になるようにn/2ペアを作成することです。 例 与えられた配列が-の場合 arr[] = {5, 10, 7, 4} then minimum sum of squares is 340 if we create pairs as (4, 10) and ( 5, 7) アルゴリズム 1. Sort the array 2. Take two variables which point to start and end index of an array 3. Calulate sum as follows: &
-
C++で配布されるテディの総数を最小限に抑えます
問題の説明 N人の学生と、学生が取得したマークを表す配列が与えられます。学校は彼らに価格としてテディを与えるために殺害しました。しかし、学校はお金を節約したいので、次の制約を課すことによって、配布されるテディの総数を最小限に抑えます- すべての生徒は少なくとも1つのテディを取得する必要があります 2人の生徒が隣り合って座っている場合、点数の高い生徒はもっと多くの生徒を獲得する必要があります 2人の生徒が同じ点数を持っている場合、異なる数のテディを取得できます 例 3人の生徒がいて、取得したマークが配列で-として表されているとします。 arr[] = {2, 3, 3} So, to
-
C ++の配列のすべての要素にXOR演算を適用して、配列の合計を最小化する
説明 サイズの配列が与えられた場合、N。Xと配列の各要素を使用してXOR演算を実行するときに、配列要素の合計が最小になるように要素Xを見つけます。 If input array is: arr [] = {8, 5, 7, 6, 9} then minimum sum will be 30 Binary representation of array elments are: 8 : 1000 5 : 0101 7 : 0111 6 : 0101 9 : 1001 If X = 5 then after performing XOR sum will be 30: 8 ^ 5 = 13 5
-
C++のn人のmチームのペアの最小数と最大数
問題の説明 N コンテストの参加者はMに分割されました 各チームに少なくとも1人の参加者がいるように、何らかの方法でチームを編成します。競技後、同じチームの参加者の各ペアが友達になりました。 あなたの仕事は、競争の終わりまでに形成された可能性のある友達のペアの最小数と最大数を見つけるプログラムを書くことです。 アルゴリズム 1. We can obtain max pairs using below formula: maxPairs = ((n – m) * (n – m + 1)) / 2 2. We can obtain min pairs using b
-
C++でのカウンターの増分の償却分析
償却分析 一連の操作では、実行時間、つまりシーケンスに必要な平均時間を決定するために使用されます。 Inは、常に平均的なケースのシナリオをとるとは限らないため、アルゴリズムで実行された平均的なケースの分析として扱うことはできません。分析の最悪のシナリオとして発生する場合があります。したがって、償却分析は、シーケンス内の複数の操作の最悪の場合の分析として扱うことができます。ここでは、各操作を異なる方法で実行するためのコストが高くなります。この問題は、バイナリカウンターを使用した一般的なビューです。 概念を明確にするために、C++プログラミング言語での動作と実装を見てみましょう。 kビットのバ
-
C++での挿入ソートの時間計算量の質問
挿入ソートの時間計算量はどれくらいですか? 時間計算量 入力量の関数として処理または実行するために一連のコードまたはアルゴリズムにかかる時間です。 挿入ソートの場合、時間計算量はO(n)のオーダーです。つまり、最良のシナリオではnの大きなOです。また、平均的または最悪のシナリオでは、複雑さはO(n 2 のオーダーです。 。 挿入ソートアルゴリズムを次の形式のnサイズの配列に適用すると、ソートの時間計算量はどうなりますか:6、5、8、7、10、9……I、i-1 上記の配列をソートするフォームの時間計算量はO(n)です。このアルゴリズムを注意深く見てみましょう。ここでは、すべてのペアが元
-
C++でリンクリストの逆を印刷する興味深い方法
リンクリストは、データ要素をリンクされた形式で格納するデータ構造です。リンクリストの各ノードには、データ要素とリンクがあります。 リンクリストの逆印刷は、問題解決で対処する必要がある一般的な問題です。そこで、ここでは、c++プログラミング言語でリンクリストの逆を印刷する興味深い方法を学びます。 通常、逆リンクリストを印刷するには、リストを変更するか、リストを複数回トラバースする必要がありますが、この方法ではそのようなことは必要なく、リンクリストを1回だけトラバースします。 このメソッドのロジックは、キャリッジリターンを使用して文字列を逆に出力することです。キャリッジリターンは、プリンタ(
-
C++での興味深い時間計算量の質問
時間計算量 アルゴリズムが平均的なケースを実行するのに必要な時間として定義できます。 いくつかの基本的な関数の時間計算量を見て計算してみましょう。 メソッド void counter(int n){ for(int i = 0 ; i < n ; i++){ for(int j = 1 ; j<n ; j += i ){ cout<<i<<” ”<<j; &n
-
C++プログラムでの配列要素の珍しい表現
配列 同じデータ型の要素を格納する線形データ構造です。配列の単一のデータ要素にアクセスするには、一般的に使用される標準的な方法があります。 構文 array_name[index]; 例 #include <iostream> using namespace std; int main( ){ int arr[2] = {32,65}; printf("First Element = %d\n",arr[0]); printf("Second Element = %d\n&q
-
C++の対角線の長さからの正方形の面積
エリア 図形の範囲は、2次元平面での図形の範囲です。 正方形 は四辺形で、すべての辺が等しく、すべての内角は直角です。 対角 多角形のは、互いに隣接していない2つの辺を結ぶ線です。 acとbdは、正方形abcdの対角線です。 この問題では、正方形の対角線の長さが与えられ、正方形のものを見つける必要があります。 今三角形abcで、 ac2 = bc2 + ab2 d2 = a2 + a2 d = sqrt(2*a2) d2 /2 = a2 そして、私たちは正方形=a*aであることを知っています。 したがって、 面積=d2/ 2 この式を使用すると、対角線の長さが与えら
-
C++の平行四辺形内の三角形の面積
図形の面積は、2次元平面での図形の範囲です。 三角形 は3辺のポリゴンです。 平行四辺形 は、反対側が等しく平行な四辺形です。 このプログラムでは、底辺と高さが平行四辺形で、平行四辺形と同じ底辺に三角形が内接しています。指定された底辺と高さを使用して三角形の面積を計算する必要があります。 平行四辺形は次の式で与えられるため、構築された三角形の面積は平行四辺形の底と一般的な高さを取ります=0.5*底*高さ area = ½ * b * h 例 #include<iostream> #include<math.h> using names
-
C++での算術数
算術数は、すべての正の除数の平均が整数である数です。つまり、除数の数が除数の合計を除算できる場合、nは算術数です。 概念をよりよく理解するために例を見てみましょう。 Input : n = 6 Output : YES Explanation : Divisors are 1 , 2 , 3 , 6 Sum = 1+2+3+6 = 12 Number of divisors = 4 Sum of divisors / number of divisor = 12 / 4 = 3 アルゴリズム Step 1 : Calculate the sum of divisors and store i