-
2つの数の最大公約数のためのC++プログラム?
ここでは、2つの数の最大公約数を取得する方法を説明します。すべての公約数を見つけるわけではありませんが、そこにある公約数を数えます。 2つの数値が12と24のようである場合、最大公約数は1、2、3、4、6、12です。したがって、6つの公約数があるため、答えは6になります。 アルゴリズム countCommonDivisor(a、b) begin count := 0 gcd := gcd of a and b for i := 1 to square root of gcd, do &n
-
2つ以上(または配列)の数値のGCD0のC++プログラム?
ここでは、3つ以上の数値の公約数を取得する方法を説明します。 2つの数値の公約数を見つけるのは簡単です。 3つ以上の数値のgcdを見つけたい場合は、gcdの結合法則に従う必要があります。たとえば、{w、x、y、z}のgcdを検索する場合は、{gcd(w、x)、y、z}、次に{gcd(gcd(w、x)、y)になります。 、z}、最後に{gcd(gcd(gcd(w、x)、y)、z)}。アレイを使用すると、非常に簡単に実行できます。 アルゴリズム gcd(a、b) begin if a is 0, then return b &n
-
Xで割り切れる最小のK桁の数字のためのC++プログラム?
この問題では、Xで割り切れる最小のK桁の数を見つけようとします。このタスクを実行するには、この式(10 ^(k-1))で最小のK桁の数を取得します。次に、数値がXで割り切れるかどうかを確認します。割り切れない場合は、この数式を使用して正確な数値を取得します。 (min+ 𝑋)−((min+ 𝑋) 𝑚𝑜𝑑 𝑋) 1つの例は、29で割り切れる5桁の数字のようなものです。したがって、最小の5桁の数字は10000です。これは29で割り切れません。ここで、式を適用すると、-が得られます。 (10000+ 29)−((10000+29) 𝑚𝑜𝑑 29)=1002
-
覆面算パズルを解くためのC++プログラム
陰窩算術問題では、数字を割り当てるためにいくつかの文字が使用されます。算術演算を正しく実行するために、10個の異なる文字が0から9までの桁値を保持しているように。 2つの単語が与えられ、それらの2つの単語の加算の答えとして別の単語が与えられます。例として、「BASE」と「BALL」の2つの単語を言うと、結果は「GAMES」になります。ここで、BASEとBALLをそれらの記号の数字で追加しようとすると、答えGAMESが得られます。 注-最大10文字である必要があります。そうでない場合、解決できません。 入力 このアルゴリズムは3語かかります。 出力 どの文字が0から9までのどの数字を
-
最初のn個の自然数の二乗和のためのC++プログラム?
この問題では、最初のn個の自然数の2乗の合計を取得する方法を確認します。ここでは、1からnまで実行されるforループを使用しています。各ステップで、項の2乗を計算し、それを合計に追加します。このプログラムは、完了するまでにO(n)時間かかります。しかし、これをO(1)または一定時間で解きたい場合は、この級数式-を使用できます。 アルゴリズム squareNNatural(n) begin sum := 0 for i in range 1 to n, do sum := sum + i^2 &
-
与えられた回数だけ文字列を連結するC++プログラム?
ここでは、文字列をn回連結する方法を説明します。 nの値はユーザーによって指定されます。この問題は非常に単純です。 C ++では、連結に+演算子を使用できます。アイデアを得るためにコードを確認してください。 アルゴリズム concatStrNTimes(str、n) begin res := empty string for i in range 1 to n, do res := concatenate res and res done retu
-
ポインタを使用して文字列内の母音をカウントするC++プログラム?
文字列から母音を取得するには、文字列の各文字を反復処理する必要があります。ここでは、ポインタを使用して文字列内を移動する必要があります。このためには、Cスタイルの文字列が必要です。文字列がstrで示されている場合、*strは最初の文字を保持します。次に、strを増やすと、*strは次の文字を指します。文字が[a、e、i、o、u]または[A、E、I、O、U]にある場合、それは母音です。カウントを増やします アルゴリズム countVowels(str) begin count := 0 for each character ch in str
-
シリーズ1/1の合計を見つけるC++プログラム! + 2/2! + 3/3! + 4/4! +……n/n!
ここでは、与えられたシリーズの合計を取得する方法を見ていきます。 nの値はユーザーによって指定されます。階乗関数を作成することでこの問題を解決し、ループの各ステップで階乗を取得できます。しかし、階乗計算は通常の加算よりもコストのかかる作業です。次の階乗では前の階乗項を使用します。 3のように!は(3 * 2 * 1)、および4!は4*3!です。だから私たちが3つを保存すると!いくつかの変数に、それを使用して次の数値を追加することで、次の階乗を簡単に取得できます。 アルゴリズム sum_series_fact(n) begin res := 0 &nbs
-
ファイルを単語ごとに読み取るC++プログラム?
このセクションでは、C++を使用してファイルコンテンツを単語ごとに読み取る方法を説明します。タスクは非常に簡単です。ファイルの内容を読み取るには、ファイル入力ストリームを使用する必要があります。ファイルストリームは、ファイル名を使用してファイルを開き、次にFileStreamを使用して各単語をロードし、wordという変数に保存します。次に、各単語を1つずつ印刷します。 アルゴリズム read_word_by_word(filename) begin file = open file using filename while file has
-
競技プログラミングのためのC++のトリック(C ++ 11の場合)?
ここでは、さまざまな分野で役立つC++プログラミング言語の優れたトリックをいくつか紹介します。競技プログラミングイベントに参加したい場合のように、これらのトリックはコードを書く時間を短縮するのに役立ちます。これらの例を1つずつ見ていきましょう。 %演算子を使用せずに、数値が奇数か偶数かを確認します。このトリックは簡単です。数値と1を使用してビット単位のAND演算を実行できます。結果がゼロ以外の場合、これは奇数です。それ以外の場合、これは偶数です。ロジックが単純すぎます。すべての奇数はLSbで1になります。したがって、ANDを1で実行すると、LSbを除くすべての文字がマスクされるため、目的
-
C ++でのアリコートの合計?
ここで、アリコートの合計は何ですか? nのアリコート和は、nを除くnのすべての完全な因子の合計です。たとえば、数値が20の場合、完全な因数は(1、2、4、5、10)です。したがって、アリコートの合計は22です。 興味深い事実の1つは、ある数のアリコートの合計がその数そのものである場合、その数は完全数であるということです。たとえば、6。係数は(1、2、3)です。アリコートの合計は1+2 + 3=6です。 次のアルゴリズムを使用してアリコートの合計を取得する方法を見てみましょう。 アルゴリズム getAliquotSum(n) begin sum := 0 &nbs
-
C ++でNまでの代替素数?
ここでは、Nまでのすべての代替素数を出力する方法を説明します。代替素数は次のようになります。 N =15と仮定します。したがって、Nまでの素数は{2、3、5、7、11、13}です。代替素数は{2、5、11}です。この問題をどのように解決できるか見てみましょう。 アルゴリズム printAlternatePrime(N) Begin define one Boolean array prime of size N + 1, and fill with 1. for p := 2, p^2 is less than N, increase p
-
C ++の算術平均?
算術平均は、数値の平均にすぎません。このプログラムでは、一連の数値から算術平均を見つける方法を説明します。関数は、設定された数と要素の数を受け取ります。アウトタスクは、各要素を追加し、それを渡された要素の数で割るだけです。 アルゴリズム 算術平均(データセット、n) begin sum := 0 for each element e from dataset, do sum := sum + e done return sum/n end 例 #in
-
C ++の複素数のasin()関数?
ここでは、複素数のasin()メソッドを確認します。複素数は、複素ヘッダーファイルを使用して使用できます。そのヘッダーファイルには、asin()関数も含まれています。これは通常のasin()関数の複雑なバージョンです。これは、複素数の複素アークサインを見つけるために使用されます。 この関数は、入力パラメーターとして複素数を取り、出力としてアークサインを返します。アイデアを得るための1つの例を見てみましょう。 例 #include<iostream> #include<complex> using namespace std; int main() { &
-
C ++の複素数のatan()関数?
ここでは、複素数のatan()メソッドを確認します。複素数は、複素ヘッダーファイルを使用して使用できます。そのヘッダーファイルには、atan()関数も含まれています。これは通常のatan()関数の複雑なバージョンです。これは、複素数の複素アークタンを見つけるために使用されます。 この関数は、入力パラメーターとして複素数を取り、出力としてアークタンを返します。アイデアを得るための1つの例を見てみましょう。 例 #include<iostream> #include<complex> using namespace std; int main() { &nb
-
C ++での競技コーディングにSTLを使用するBFS?
幅優先探索(BFS)トラバーサルはアルゴリズムであり、特定のグラフのすべてのノードにアクセスするために使用されます。このトラバーサルアルゴリズムでは、1つのノードが選択され、隣接するすべてのノードが1つずつ訪問されます。隣接するすべての頂点を完了すると、さらに移動して別の頂点をチェックし、隣接する頂点を再度チェックします。 競技コーディングでは、問題を非常に迅速に解決する必要があります。このアルゴリズムを実装するには、STL(C ++の標準ライブラリ)を使用します。キューデータ構造を使用する必要があります。隣接するすべての頂点がキューに追加されます。隣接するすべての頂点が完了すると、1
-
C ++で文字列の長さを見つけるための5つの異なる方法?
ここでは、C++で文字列の長さを取得する5つの異なる方法を示します。 C ++では、従来の文字配列文字列を使用できます。C++にはStringクラスもあります。さまざまな領域で、文字列の長さを計算するさまざまな方法があります。 C ++ Stringクラスには、length()およびsize()関数があります。これらは、文字列型オブジェクトの長さを取得するために使用できます。文字列のような従来のCの長さを取得するには、strlen()関数を使用できます。これはcstringの下にあります ヘッダーファイル。別の2つのアプローチは簡単です。 1つはwhileループを使用する方法で、もう1つはf
-
カクテルソート用のC++プログラム?
カクテルソートは、バブルソートのもう1つのバリエーションです。バブルソート手法では、常に左から右に検索し、最後に最大の要素を見つけます。2番目のフェーズでは、最後から2番目の位置にある2番目に大きい要素を見つけます。このソート手法は、交互に両方向にトラバースします。アイデアを理解するためのアルゴリズムを見てみましょう。 アルゴリズム カクテル(配列、n) Begin flag := true start := 0, end := n-1 while flag is set, do &nbs
-
コムソート用のC++プログラム?
コムソートとバブルソートの基本的な考え方は同じです。言い換えれば、コムソートはバブルソートの改良です。バブルソート手法では、各フェーズでアイテムが次のアイテムと比較されます。ただし、コムソートの場合、アイテムは特定のギャップでソートされます。各フェーズが完了すると、ギャップが減少します。この種の減少係数または縮小係数は1.3です。これは、各フェーズを完了した後、ギャップが1.3で除算されることを意味します。最良の場合、時間計算量はO(n log n)です。 O(n 2 / 2n P )(pは増分の数)平均的な場合とO(n 2 )最悪の場合。 アルゴリズム CombSort(arr
-
ノームソート用のC++プログラム?
ここでは、ノームソートがどのように機能するかを見ていきます。これは別の並べ替えアルゴリズムです。このアプローチでは、リストがすでにソートされている場合、O(n)時間がかかります。したがって、最良の場合の時間計算量はO(n)です。しかし、平均的なケースと最悪のケースの複雑さはO(n ^ 2)です。ここで、この並べ替え手法についてのアイデアを得るためのアルゴリズムを見てみましょう。 アルゴリズム gnomeSort(arr、n) begin index := 0 while index < n, do &nbs