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

n番目のフィボナッチ数のPythonプログラム


この記事では、n番目のフィボナッチ数を計算します。

フィボナッチ数 以下に示す漸化式によって定義されます-

Fn = Fn-1 + Fn-2

あり F 0 =0およびF1 =1。

まず、フィボナッチ数はほとんどありません

0,1,1,2,3,5,8,13,..................

フィボナッチ数を計算できます 再帰と動的計画法の方法を使用します。

それでは、Pythonスクリプトの形式での実装を見てみましょう

アプローチ1:再帰方法​​

#recursive approach
def Fibonacci(n):
   if n<0:
      print("Fibbonacci can't be computed")
   # First Fibonacci number
   elif n==1:
      return 0
   # Second Fibonacci number
   elif n==2:
      return 1
   else:
      return Fibonacci(n-1)+Fibonacci(n-2)
# main
n=10
print(Fibonacci(n))

出力

34

宣言されたすべての変数のスコープを以下に示します。

n番目のフィボナッチ数のPythonプログラム

アプローチ2:動的計画法

#dynamic approach
Fib_Array = [0,1]
def fibonacci(n):
   if n<0:
      print("Fibbonacci can't be computed")
   elif n<=len(Fib_Array):
      return Fib_Array[n-1]
   else:
      temp = fibonacci(n-1)+fibonacci(n-2)
      Fib_Array.append(temp)
      return temp
# Driver Program
n=10
print(fibonacci(n))

出力

34

宣言されたすべての変数のスコープを以下に示します

n番目のフィボナッチ数のPythonプログラム

結論

この記事では、再帰と動的計画法のアプローチを使用したn番目のフィボナッチ数の計算について学びました。


  1. n番目のカタラン数のPythonプログラム

    この記事では、n番目のカタラン数の計算について学習します。 カタラン数 再帰式-によって定義される自然数のシーケンスです。 $$ C_ {0} =1 \:and \:C_ {n + 1} =\ displaystyle \ sum \ Limits_ {i =0} ^ n C_ {i} C_ {n-i} for \:n \ geq0; $$ n =0、1、2、3、…の最初のいくつかのカタラン数は 1、1、2、5、14、42、132、429、..............です。 .... カタラン数は、再帰と動的計画法の両方で取得できます。その実装を見てみましょう。 アプローチ1:再

  2. 与えられた数がフィボナッチ数であるかどうかをチェックする方法のためのPythonプログラム?

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数nが与えられたら、nがフィボナッチ数であるかどうかを確認します n番目のフィボナッチ数は前の2つのフィボナッチ数の合計であることは誰もが知っています。しかし、それらは漸化式以外の興味深い関係も提供します。 (5 * n2 + 4)または(5 * n2 – 4)が完全な正方形である場合に限り、数値は本質的にフィボナッチです。 このプロパティを使用して、数値がフィボナッチであるかどうかを確認します。 では、Pythonスクリプトの実装を見てみましょう- 例 import math # if x is p