#22

再帰:フィボナッチ数列

前の2つの数を足して次を作る数列を再帰で求めます。

解説

フィボナッチ数列は、最初の2項が 0, 1 で、それ以降は直前の2つの和になる数列です。0, 1, 1, 2, 3, 5, 8, 13 … と続きます。 定義をそのまま再帰にできます。 - fib(n) = fib(n-1) + fib(n-2) - fib(0) = 0, fib(1) = 1(ベースケースが2つ必要) 1回の呼び出しが2回呼び出す「二重再帰」で、計算の枝が木のように広がります。分かりやすい一方、nが大きいと同じ計算を繰り返すため遅くなる注意点も学べます。

書き方

二重再帰: fib(n) = fib(n-1) + fib(n-2)。
・ベースケースは2つ: fib(0)=0, fib(1)=1。
・n が大きいと同じ計算を繰り返し遅くなる。

書いて動かす

この回の課題

フィボナッチを再帰で定義し、0〜9 番目の数列をリストにまとめて表示してみよう。

コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。

もっと本格的に使うなら

Windows版 InsightPy なら、書いたコードを保存して業務の自動化まで進められます。学習センターはずっと無料です。