C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

動的計画法を使用してフィボナッチ数を見つけるC++プログラム


フィボナッチ数列は次のようになります

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,……

このシーケンスでは、n番目の項は(n-1) th の合計です。 および(n-2) th 用語。

生成するには再帰的アプローチを使用できますが、動的計画法では手順が簡単です。すべてのフィボナッチ数をテーブルに格納できます。そのテーブルを使用することで、このシーケンスの次の項を簡単に生成できます。

入力 −用語番号を入力として使用します。 10だと言う

出力 −10番目の fibinacciの用語は55です

アルゴリズム

genFiboSeries(n)

入力

用語の最大数。

出力

n番目のフィボナッチ用語。

Begin
define array named fibo of size n+2
fibo[0] := 0
fibo[1] := 1
for i := 2 to n, do
fibo[i] := fibo[i-1] + fibo[i-2]
done
return fibo[n]
End

サンプルコード

#include<iostream>
using namespace std;
int genFibonacci(int n) {
   int fibo[n+2]; //array to store fibonacci values
   // 0th and 1st number of the series are 0 and 1
   fibo[0] = 0;
   fibo[1] = 1;
   for (int i = 2; i <= n; i++) {
      fibo[i] = fibo[i-1] + fibo[i-2]; //generate ith term using previous
      two terms
   }
   return fibo[n];
}
int main () {
   int n;
   cout << "Enter number of terms: "; cin >>n;
   cout << n<<" th Fibonacci Terms: "<<genFibonacci(n)<<endl;
}

出力

Enter number of terms: 10
10th Fibonacci Terms: 55

  1. C++を使用して楕円の領域を見つけるプログラム

    ここでは、C++を使用して楕円の面積を取得する方法を説明します。楕円にはさまざまな部分があります。これらは以下のようなものです。 キーポイント 説明 センター 楕円の中心。また、2つの焦点を結ぶ線分の中心でもあります。 主軸 楕円の最長直径 nmemb これは要素の数であり、各要素のサイズはサイズです。 バイト。 短軸 楕円の最小直径 コード tを指す線分 フォーカス 図で示されている2つのポイント ロータス直腸 蓮の直腸は、焦点を通り、楕円の主軸に垂直な線です。 楕円の面積はΠ𝜋 ∗𝑎a∗b𝑏 サンプルコード #include <iostre

  2. 再帰を使用してG.C.Dを検索するC++プログラム

    2つの数値の最大公約数(GCD)は、両方を除算する最大の数値です。 例:45と27の2つの数字があるとします 63 = 7 * 3 * 3 42 = 7 * 3 * 2 So, the GCD of 63 and 42 is 21 再帰を使用して2つの数値のGCDを見つけるプログラムは次のとおりです。 例 #include<iostream> using namespace std; int gcd(int a, int b) {    if (a == 0 || b == 0)    return 0;    els