ネイティブ日本語の言い換え: パイソン再帰関数によるフィボナッチ数列の実装方法

フィボナッチ数列は、各数字が前の2つの数字の和に等しい数列であり、すなわちF(n) = F(n-1) + F(n-2)となる。フィボナッチ数列を求めるには再帰関数が使用できる。

フィボナッチ数列を再帰関数で実装した例を以下に示します。

def fibonacci(n):
if n <= 0:
return []
elif n == 1:
return [0]
elif n == 2:
return [0, 1]
else:
sequence = fibonacci(n-1)
sequence.append(sequence[-1] + sequence[-2])
return sequence

この例ではフィボナッチ数列を生成する長さの引数nを取る、fibonacciという再起関数を定義します。最初にいくつかの特定の状況に対処します。nが0以下の場合、空リストを返します。nが1の場合、0のみを含むリストを返します。nが2の場合、0と1を含むリストを返します。

nが2より大きい場合、fibonacci(n-1)を呼び出して、最初のn-1個のフィボナッチ数を生成し、最後の2つの数字を合計し、結果を配列の最後に追加します。最後に、生成された配列を返します。

こちらに一例を記載します。

n = 10
fib_sequence = fibonacci(n)
print(fib_sequence)

このコードは、長さ 10 のフィボナッチ数列を生成し、出力します。出力結果は [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] です。

再帰関数はnの値が大きいと、計算を何度も繰り返し行うため、パフォーマンスに課題が生じることがあります。大きなフィボナッチ数列を生成する場合、パフォーマンスを最適化するために、イテレーションや動的計画などの他の方法を検討してください。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds