Pythonを使用してフィボナッチ数列を再帰的に実装する方法

フィボナッチ数を再帰的に求めるアルゴリズムを作成するには、以下の手順で行うことができます。

  1. 最初の2つのフィボナッチ数は 1 と 1 であるため、インデックスが 1 または 2 である場合は 1 を返すことで、再帰の終了条件を決定します。
  2. 再帰関数の定義:整数nを引数とする関数を書き、フィボナッチ数列のn番目の値を返します。
  3. 再帰関数でロジックを処理:nが2より大きい場合、再帰関数呼び出しによってn-1項とn-2項の和、つまりfib(n-1) + fib(n-2)を求める。

フィボナッチ数列を再帰的に実装したPythonコードの例を次に示します。

def fibonacci(n):
    if n == 1 or n == 2:
        return 1
    else:
        return fibonacci(n-1) + fibonacci(n-2)

# 测试
n = 10
result = fibonacci(n)
print("斐波那契数列第", n, "项为:", result)

上記のサンプルコードでは、フィボナッチ数列の n 番目の数を計算する、フィボナッチという名前の再帰関数を n という入力パラメータ付きで定義しています。その後、この関数がメインの関数から呼び出され、結果が出力されます。

フィボナッチ数列を再帰的に計算すると非効率的なので注意。何度も同じ値を計算します。現実的な応用では反復アルゴリズムや再帰メモ化を利用して効率を上げることができます。

bannerAds