C ++

 Computer >> コンピューター >  >> プログラミング >> C ++
  1. C++で有効な括弧

    式があるとします。式にはいくつかの括弧があります。括弧のバランスが取れているかどうかを確認する必要があります。括弧の順序は()、{}、[]です。 2つの文字列があるとします。 「()[(){()}]」これは有効ですが、「{[}]」は無効です。 タスクは簡単です。これを行うためにスタックを使用します。解決策を得るには、次の手順に従う必要があります- 使い果たされるまで式をトラバースします 現在の文字が(、{または[のように角かっこを開いている場合は、スタックにプッシュします 現在の文字が)、}、]のように閉じ括弧である場合は、スタックからポップし、ポップされたブラケットが現在

  2. C++で階段を上る

    n段あります。 1人目からn番目の階段に行きます。彼/彼女が1つのステップで横断できる階段の最大数も与えられます。この情報を使用して、n番目の階段に行くための可能な方法を見つける必要があります。各ステップで最大2つの階段を越えることができると考えてみましょう。したがって、この問題を解決するための漸化式を見つけることができます。 (n-1)番目の階段または(n-2)番目の階段のいずれかからn番目の階段に移動できます。つまり、ways(n)=Ways(n-1)+ Ways(n-2)。 階段の数(たとえば10)、1つのステップでジャンプできる階段の最大数(たとえば2)を想定すると、出力は89の可能

  3. C++でのパスカルの三角形

    パスカルの三角形は、二項係数の配列です。一番上の行にはn=0の番号が付けられ、各行にはk =0から始まる左から番号が付けられます。各番号は、前の行にあり、現在のセルのちょうど上にある2つの番号を加算することによって求められます。また、行番号nと列番号kの(𝑛𝑘)を見つけることによって形成されます。 入力が10であるとすると、出力は-のようになります。                1               1 1   &nb

  4. C++の多数決要素

    7/2と表示されます。 配列内のxの出現を数えることができ、その数がn / 2より大きい場合、答えはtrueになり、そうでない場合はfalseになります。 例(C ++) #include <iostream> #include <stack> using namespace std; bool isMajorityElement(int arr[], int n, int x){    int freq = 0;    for(int i = 0; i<n; i++){       if(a

  5. C++でのExcelシートの列番号

    Excelの列番号はアルファベットであることがわかっています。これはAから始まり、Zの後に、AA、AB、ZZ、そして再びAAA、AAB、ZZZというように続きます。したがって、列1はA、列27はZです。ここでは、列の数が指定されている場合に列文字を取得する方法を示します。したがって、列番号が80の場合、CBになります。 数値nがあり、その値が28であるとすると、26でリマインダーを取得する必要があります。余りが0の場合、数値は26、52などになります。次に、出力文字列にZを入れます。 nの値はn/26 – 1になります。余りがゼロ以外の場合は、それに応じて文字列に文字を挿入し、n =n/26

  6. C++の階乗後続ゼロ

    ここでは、任意の数の階乗の結果の末尾の0の数を計算する方法を説明します。したがって、n =5の場合、5! =120。末尾の0は1つだけです。20の場合! 20として4つのゼロになります! =2432902008176640000。 最も簡単なアプローチは、階乗を計算して0を数えることです。ただし、このアプローチは、nの値が大きい場合は失敗します。したがって、別のアプローチに従います。素因数が2と5の場合、末尾のゼロがあります。2と5を数えると、結果を得ることができます。そのために、このルールに従います。 末尾の0=factorial(n)の素因​​数の5の数 したがって、末尾の0 =$$

  7. C++の醜い数

    醜い数は素因数が2、3または5である数です。1から15まで、11の醜い数1、2、3、4、5、6、8、9、10、12、15があります。数7 、11、13は素数であるため、醜いものではありません。素因数で7が来るので、14という数字は醜いものではありません。したがって、10番目の醜い数字を確認したいとします。値は12になります。 アイデアを得るために次のアルゴリズムを見てみましょう- アルゴリズム getUglyNumbers(n) 入力 −用語の数。 出力 −n番目の醜い数字を見つけます。 Begin    define array named uglyNum o

  8. 範囲合計クエリ-C++の不変

    整数の配列があるとします。インデックスiからjまでの要素の合計を見つける必要があります。配列は不変であるため、要素は変更されず、そのようなクエリが複数存在することに注意する必要があります。そのため、多数のクエリの実行時間を気にする必要があります。配列がA=[5、8、3、6、1、2、5]のようであるとすると、クエリが(A、0、3)の場合、5 + 8 + 3 + 6=22になります。 これを解決するには、次の手順に従います- 1つの配列Bを取得します。B[i]は0からiまでの要素の合計を格納します クエリの場合は、B [j] – B [i – 1]を実行します 理解を深めるために、次の実装

  9. C++でのN番目のTribonacci番号

    値nがあるとすると、n番目のTribonacci番号を生成する必要があります。トリボナッチ数はフィボナッチ数に似ていますが、ここでは前の3つの項を追加して項を生成しています。 T(n)を生成したい場合、式は次のようになります- T(n) = T(n - 1) + T(n - 2) + T(n - 3) 最初のいくつかの数字は{0、1、1}です。 このアルゴリズムに従うことでそれらを解決できます- アルゴリズム • first := 0, second := 1, third := 1 • for i in range n – 3, do   &nb

  10. C++の曜日

    日付(日、月、年)があるとします。この日付から、その指定された日付の曜日を見つける必要があります。これを解決するために、ツェラーのアルゴリズムを使用します。ツェラーのアルゴリズムを使用して平日を見つける式はこちらです 𝑤=$$\ lgroupd + \ lfloor \ frac {13(m + 1)} {5} \ rfloor + y + \ lfloor \ frac {y} {4} \ rfloor + \ lfloor \ frac {c} {4} \ rfloor + 5c \ rgroup mod 7 $$ 式にはいくつかの変数が含まれています。彼らは- d −日付の

  11. C++を使用した等差数列の欠落数

    等差数列の要素を順番に表す配列があるとします。 1つの要素が欠落しています。不足している要素を見つける必要があります。したがって、arr =[2、4、8、10、12、14]の場合、6が欠落しているため、出力は6になります。 二分探索を使用して、この問題を解決できます。真ん中の要素に移動し、真ん中と真ん中の隣の違いがdiffと同じかどうかを確認します。そうでない場合、欠落している要素はインデックスmidとmid+1の間に存在します。中央の要素がAPのn/2番目の要素である場合、欠落している要素は右半分にあり、そうでない場合は左半分にあります。 例(C ++) #include <iost

  12. C++でソートおよび回転された配列の最大要素

    説明 未知のポイントで回転する個別の要素のソートされた配列が与えられた場合、タスクはその中の最大の要素を見つけることです。 例 入力配列が{30、40、50、10、20}の場合、最大要素は50です。 アルゴリズム 最大要素は、次の要素がそれよりも小さい唯一の要素です。次に小さい要素がない場合、回転はありません。つまり、最後の要素が最大です 中間要素のこの条件を、mid –1およびmid+ 1の要素と比較して確認します。最大要素がmid–1およびmid+ 1の要素である場合、最大要素が中央にない場合(midでもmidでもない場合) mid + 1)の場合、maximumelementは左半

  13. C++でpthreadを使用した非常に大きな配列の最大要素

    問題の説明 整数の非常に大きな配列が与えられた場合、マルチスレッドを使用して配列内で最大値を見つけます 例 入力配列が{10、14、-10、8、25、46、85、1673、63、65、93、101、125、50、73、548}の場合、 この配列の最大要素は1673です アルゴリズム 配列サイズをtotal_elementsと呼びましょう N個のスレッドを作成する 各スレッドは(total_elementes / N)配列要素を処理し、そこから最大の要素を見つけます。 最後に、各スレッドによって報告された最大値から最大値を計算します。 例 #include <stdio.h>

  14. C++の配列の最大平衡合計

    問題の説明 配列arr[]が与えられます。 arr[]のインデックスiのサフィックス合計でもあるプレフィックス合計の最大値を見つけます。 例 入力配列が-の場合 Arr [] ={1、2、3、5、3、2、1}の場合、出力は次のように11になります- プレフィックス合計=arr[0..3] =1 + 2 + 3 + 5=11および サフィックスの合計=arr[3..6] =5 + 3 + 2 + 1 =11 アルゴリズム 配列をトラバースし、各インデックスのプレフィックスの合計を配列presum []に格納します。ここで、presum[i]はサブ配列arr[0..i]の合計を格納し

  15. C++の基本データ型と派生データ型の違い

    プログラミングでは、データ型は、ユーザーが使用することを目的としたデータの種類と性質を示します。これは、コンパイラまたはインタプリタが処理するデータ型であり、メインメモリに対応する格納場所を提供します。 現在、データの性質に基づいて、データ型は主に2つのタイプに分類され、1つは基本データ型で、もう1つは派生データ型です。これらのデータ型は両方ともプログラミングで使用され、データにビジネスロジックを実装する必要がある場合にも同様に重要です。 基本データ型と派生データ型の重要な違いは次のとおりです Sr。いいえ。 キー 基本的なデータ型 派生データ型 1 定義 名前が示すよう

  16. C++の回文の順列である最大偶数長のサブ文字列

    問題の説明 文字列が与えられた場合、タスクは、回文に配置できるサブ文字列の最大長を見つけることです。 例 入力文字列=“ 5432112356”の場合、最大回文サブストリングは“ 321123”であり、その長さは6であるため、回答は6です。 アルゴリズム 部分文字列の長さが奇数の場合、最終的な解決策では考慮できません。 サブ文字列の長さが偶数の場合、そのサブ文字列の各文字が偶数回出現する場合にのみ解決策となる可能性があります。これは、辞書カウントを使用して実行できます。各文字が偶数回出現するかどうかをチェックします。はいの場合、可能な解決策の1つとしてそれを含めます。次に、文字列に次の文

  17. C++で勝者がプレイする最大ゲーム

    問題の説明 トーナメントをしているN人のプレーヤーがいます。勝者がプレイできるゲームの最大数を見つける必要があります。このトーナメントでは、2人のプレーヤーがプレイするゲームの差が1つ以下の場合にのみ、2人のプレーヤーがお互いに対戦することが許可されます 例 3人のプレーヤーがいる場合、次のように勝者を決定するには2つのゲームが必要です- ゲーム– 1:プレーヤー1とプレーヤー2 ゲーム-2:プレーヤー2対ゲーム-1の勝者 アルゴリズム この問題は、勝者がxゲームをプレイするために必要な最小プレーヤー数を最初に計算することで解決できます。これが計算されると、実際の問題はこれの逆にな

  18. C++での配列値の三角形配列の最大高さ

    問題の説明 配列が与えられた場合、(i + 1) th ごとの配列値から、形成できる三角形の最大の高さを見つける必要があります。 レベルには、前のレベルよりも合計が大きい要素が多く含まれています。 例 入力配列が{40、100、20、30}の場合、答えは2 as- ピラミッドの最下層に100と20、上層に40または30を設定できます アルゴリズム 私たちの解決策は、ピラミッドに可能な最大の高さhがある場合、(h *(h + 1))/2要素が配列に存在する必要があるという論理に基づいています 例 #include <bits/stdc++.h> using namespace

  19. C++での醜い数字のサブ配列の最大長

    問題の説明 N個の要素の配列arr[]が与えられます(0≤arr[i]≤1000)。タスクは、醜い数字のみを含むサブ配列の最大長を見つけることです。 醜い数は、素因数が2、3、または5だけの数です。 以下の例は、シリーズのいくつかの数字です:1、2、3、4、5、6、8、9、10、12、15、… 例 入力配列が{1、2、7、9、120、810、374}の場合、答えは3 as- 醜い数の可能な最長のサブ配列sis{9、120、810} アルゴリズム unordered_setを取得し、1000未満の醜い数字をすべてセットに挿入します current_maxとmax_so_farとい

  20. C++でのQ人目のロッドの最大長

    問題の説明 アレイ内のn本のロッドの長さが与えられます。誰かがロッドを選ぶと、最も長いロッドの半分(または(max + 1)/ 2)が割り当てられ、残りの部分(max – 1)/2が戻されます。十分な数のロッドが常に利用可能であると想定できます。qiが1から始まる有効な人物番号である場合、配列q []で指定されたMクエリに答えて、q番目の人物が利用できるロッドの最大長を見つけます。 例 Input : a[] = {6, 5, 9, 10, 12}    q[] = {1, 3} Output : 12 9 The first person gets maximum le

Total 5992 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:117/300  20-コンピューター/Page Goto:1 111 112 113 114 115 116 117 118 119 120 121 122 123