-
定積分に対するシンプソンの1/3ルール
台形公式と同様に、シンプソンの1/3の公式も、aからbの範囲の積分値を見つけるために使用されます。台形とシンプソンの1/3の規則の主な違いは、台形の規則では、セクション全体がいくつかの台形に分割されますが、この場合、各台形も2つの部分に分割されます。 このルールでは、次の式に従います。 ここで、hは間隔の幅、nは間隔の数です。 を使用してhを見つけることができます 入力と出力 Input: The function f(x): (x+(1/x). The lower and upper limit: 1, 2. The number of intervals: 20. Outp
-
線形回帰
与えられたデータポイントのセットから、線形回帰は直線の方程式を見つけます。与えられたポイントは直線に従います。この式を使用して、現在セットに存在しない他の特定のポイントの値がどうなるかを予測できます。 いくつかのデータポイントを使用して線形回帰の問題を解決するには、次の式に従う必要があります。 ここで、mとcはそれぞれ傾きとy切片です。これらの式を使用すると、次の形式で直線の方程式を得ることができます。𝑦=𝑚𝑥+𝑐。 入力と出力 Input: The (x, y) coordinates of some points. {(1,3), (2,4), (3,5), (4,6),
-
ルンゲクッタ微分方程式の4次規則
Runge Kutta法は、常微分方程式(ODE)を解くために使用されます。 xとyにdy/dx関数を使用し、yの初期値、つまりy(0)も必要です。与えられたxのyの近似値を見つけます。 ODEを解くには、次の式に従う必要があります。 ここでhは間隔の高さです。 注: これらの式から、最初の2つのk1とk2を使用して、ODEのルンゲクッタ2次解を見つけることができます。 入力と出力 Input: The x0 and f(x0): 0 and 0 the value of x = 0.4 the value of h = 0.1 Output: Answer of differenti
-
ラグランジュ補間
指定されたデータポイントの離散セットの範囲内に新しいデータポイントを構築するために、内挿法が使用されます。ラグランジュ補間手法はその1つです。与えられたデータポイントが均等に分散されていない場合、この内挿法を使用して解を見つけることができます。ラグランジュ補間の場合、この方程式に従う必要があります。 入力と出力 Input: List of x and f(x) values. find f(3.25) x: {0,1,2,3,4,5,6} f(x): {0,1,8,27,64,125,216} Output: Result after Lagrange interpolation
-
ラッキーナンバー
ラッキーナンバーはいくつかの特別な整数です。基本番号から、いくつかの特別な番号はそれらの位置によって削除されます。それらの値の代わりに、それらの位置については、数字が削除されます。削除されていない数字はラッキーナンバーです。 番号の削除はいくつかの規則に従います。最初は1つおきの番号が削除され、その後3つ目の番号がすべて削除されます。 ここにいくつかの例があります- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 (1 – 25 all) 1 3 5 7 9 11 13 15 17 19 21
-
10進数から2進数への変換
10進数を2進数に変換することもできます。 10進数を2進数に変換するには、0または1に達するまで数値を2で割る必要があります。各ステップで、余りは別々に格納され、逆の順序で2進数に相当する数値を形成します。 このアルゴリズムでは、再帰的アプローチに従います。スタックデータ構造を使用せずに問題を解決するのに役立ちます。実装では、関数の再帰が内部スタックに従うことがわかっています。そのスタックを使用して仕事を提供します。 入力と出力 Input: Decimal number 56 Output: Binary Equivalent: 111000 アルゴリズム decToBin(decima
-
2つの数値のLCMを見つける
数学では、最小公倍数(LCM)は可能な限り最小の整数であり、両方の数値で割り切れます。 LCMは、因数分解などの多くの方法で計算できますが、このアルゴリズムでは、大きい方の数値に1、2、3…を掛けています。 n2番目の数で割り切れる数が見つかるまで。 入力と出力 Input: Two numbers: 6 and 9 Output: The LCM is: 18 アルゴリズム LCMofTwo(a, b) 入力:bと見なされます。 出力: aとbのLCM。 Begin lcm := a i := 2 while
-
2つの数のGCDを見つける
数学では、最大公約数(GCD)は可能な最大の整数であり、両方の整数を除算します。条件は、数値がゼロ以外でなければならないということです。 ユークリッドの互除法に従って、2つの数値のGCDを見つけます。 入力と出力 Input: Two numbers 51 and 34 Output: The GCD is: 17 アルゴリズム findGCD(a, b) 入力: 2つの数字aとb。 出力: aとbのGCD。 Begin if a = 0 OR b = 0, then return 0 if a
-
ロッドカッティング
ロッドの長さはnです。別の表も用意されており、サイズごとに異なるサイズと価格が含まれています。ロッドをカットして市場で販売することにより、最高価格を決定します。 さまざまな位置でカットし、ロッドをカットした後の価格を比較することで、最良の価格を得るには。 長さnの行を切り取った後、f(n)が可能な最大価格を返すようにします。このように関数f(n)を書くだけです。 f(n):=price [i] + f(n – i – 1)の最大値。ここで、iは0から(n – 1)の範囲です。 入力と出力 入力 : さまざまな長さの価格、およびロッドの長さ。ここでの長さは8です。 出力 :
-
最短の一般的なスーパーシーケンス
最も短い一般的なスーパーシーケンスは、指定された両方のシーケンスの各要素が存在するシーケンスです。言い換えれば、与えられた2つの文字列は、どちらもShortestCommonSuper-Sequenceのサブシーケンスであると言えます。 2つの文字列に共通の文字がない場合は、それらを連結してスーパーシーケンスを取得できます。ただし、一般的な文字がいくつかある場合は、最初に最長の文字列を見つけてから、他の文字列の文字を追加する必要があります。 入力と出力 Input: Two strings. “ABCDEF” and “XYDEF” Outpu
-
n桁の非減少数の総数
すべての桁(最初の桁を除く)が前の桁より小さくない場合、数値は減少しないと言われます。このアルゴリズムでは、N桁の数字の中に減少しない数字がいくつあるかを見つける必要があります。 count(n、d)を、長さがnで、文字dで終わる非減少数がいくつあるかをカウントする関数とすると、次のような関係を記述できます。 $$ count(n、d)=\ displaystyle \ sum \ Limits_ {i =0} ^ d count(n-1、i)\\ total =\ displaystyle \ sum \ limits_ {d =0} ^ {n-1 } count(n-1、d)$$ 入
-
頂点被覆問題
無向グラフの場合、頂点被覆は頂点のサブセットであり、グラフのすべてのエッジ(u、v)について、uまたはvのいずれかがセットに含まれます。 二分木を使用すると、頂点被覆問題を簡単に解決できます。 この問題は、2つのサブ問題に分けることができます。ルートが頂点被覆の一部である場合。この場合、ルートはすべての子エッジをカバーします。左右のサブツリーの頂点被覆のサイズを簡単に見つけて、ルートに1を追加できます。 入力と出力 Input: A binary tree. Output: The vertex cover is 3. アルゴリズム vertexCover(root node
-
醜い数字
醜い数は、素因数が2、3、または5である数です。1から15まで、11の醜い数1、2、3、4、5、6、8があります。 9、10、12、15。7、11、13の数字は素数であるため、醜いものではありません。素因数で7が来るので、14という数字は醜いものではありません。 このプログラムでは、n番目の醜い番号を見つけようとします。 入力と出力 Input: Take the term number. Say it is 10 Output: The 10th ugly number is 12 アルゴリズム getUglyNumbers(n) 入力: 用語の数。 出力: n番目の醜い数字を見つけま
-
加重ジョブスケジューリング
さまざまなジョブのリストが表示され、開始時刻、終了時刻、およびそのジョブの利益もそれらのジョブに提供されます。私たちの仕事は、利益が最大で、互いに重複する仕事がない仕事のサブセットを見つけることです。 このアルゴリズムでは、テーブルを使用してサブ問題の結果を保存し、サブ問題の結果を使用して、問題全体をボトムアップ方式で解決できます。 このアルゴリズムの時間計算量はO(n ^ 2)ですが、二分探索法を使用して競合するジョブを検索することにより、O(n Log n)に変更できます。 入力と出力 Input: The start time, finish time and profit of s
-
ワードラップの問題
一連の単語が指定されています。各行の文字数には制限があります。改行を入れて、線がはっきりと印刷されるようにします。 線のバランスをとる必要があります。一部の線に多くの余分なスペースがあり、一部の線に少数の余分なスペースが含まれている場合、それらを別々の線にバランスさせます。同じ数の余分なスペースを使用して、バランスをとろうとします。 このアルゴリズムは、1行に配置できる単語数と、必要な行数を生成します。 入力と出力 Input: The length of words for each line. {3, 2, 2, 5}. The max width is 6. Output: Line
-
中置を接頭辞式に変換する
コンピューターで式を解決するには、式を接尾辞形式または接頭辞形式に変換します。ここでは、中置式がどのように接頭辞形式に変換されるかを確認します。 最初は中置式が逆になります。開き括弧と閉じ括弧を逆にすると、括弧も逆になることに注意してください。 例:式:A + B *(C-D) 式を逆にすると、次のようになります。)D – C(* B + A したがって、開き括弧を閉じ括弧に、またはその逆に変換する必要があります。 逆にすると、式は後置に変換されます 中置から後置へのアルゴリズムを使用して形成します。その後、再び接尾辞式が逆になり、接頭辞式が取得されます。 入力と出力 Input:
-
中置を後置式に変換する
中置式は、人間が読み取りおよび解決できます。演算子の順序は簡単に区別できます。また、数式を解くときに括弧を使用してその部分を最初に解くことができます。コンピューターは演算子と括弧を簡単に区別できないため、接尾辞の変換が必要です。 中置式を後置式に変換するには、スタックデータ構造を使用します。中置式を左から右にスキャンすることにより、オペランドを取得するときに、それらを接尾辞フォームに追加し、演算子と括弧については、それらの優先順位を維持しながらスタックに追加します。 注: ここでは、{+、−、∗、/、^}演算子のみを検討し、他の演算子は無視します。 入力と出力 Input: The inf
-
Postfix式を評価する
数式を解くには、接頭辞または接尾辞の形式が必要です。中置を後置に変換した後、正しい答えを見つけるために後置評価アルゴリズムが必要です。 ここでも、スタックデータ構造を使用して接尾辞式を解決する必要があります。 後置式から、いくつかのオペランドが見つかった場合、それらをスタックにプッシュします。演算子が見つかると、スタックから2つのアイテムがポップされ、操作は正しい順序で実行されます。その後、結果は将来の使用のためにスタックにもプッシュされます。式全体が完成すると、最終結果もスタックトップに保存されます。 入力と出力 Input: Postfix expression: 53+62/*35*
-
与えられた価値を生み出すコインの最小数
コインC(c1、c2、……Cn)のリストがあり、値Vも指定されています。ここで問題となるのは、チャンスをVにするために最小数のコインを使用することです。 注: コインCが無限にあると仮定します。 この問題では、異なるコインのセットC {1、2、5、10}が与えられていると考えます。各タイプのコインの数は無限です。要求された値を変更するために、あらゆる種類のコインの最小数を取得しようとします。例として、値22の場合:最小で{10、10、2}、3コインを選択します。 入力と出力 Input: The required value. Say 48 Output: Minimum required
-
ジャンプの最小数問題
この問題では、正の整数のリストが表示されます。各整数は、現在の要素から実行できる最大ステップ数を示します。最初の要素から始めて、リストの最終項目に到達するためのジャンプの最小数を見つける必要があります。 動的計画法のアプローチでは、必要な最小数のジャンプを格納するためにジャンプ配列が定義されます。 jumps [i]の値と同様に、0番目のインデックスから配列のi番目のインデックスに到達するために必要な最小ジャンプ数を示します。 入力と出力 Input: A list of integers. {1, 3, 5, 8, 9, 2, 6, 7, 6, 8, 9} Output: The mini