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

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


この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。

問題の説明 −n番目のフィボナッチ数を計算するタスク。

フィボナッチ数のシーケンスFnは、以下に示す漸化式によって与えられます

Fn =Fn-1 + Fn-2

シード値付き(標準)

F0=0およびF1=1。

この問題には2つの解決策があります

  • 再帰的アプローチ
  • 動的アプローチ

アプローチ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

下の画像に示すように、すべての変数はグローバルスコープで宣言されています

フィボナッチ数の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

下の画像に示すように、すべての変数はグローバルスコープで宣言されています

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

結論

この記事では、フィボナッチ数を計算する方法について学びました


  1. 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: &

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

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