text: 以下は、n番目のフィボナッチ数を計算する再帰的なPython関数 fib(n) です。これは基本的なケースと再帰的なケースに分かれています。基本ケースは、フィボナッチ数列の最初の2項が0と1であることから、fib(0)=0、fib(1)=1である。再帰的な場合は、n番目のフィボナッチ数f_nは前の2つのフィボナッチ数の和として書けるので、f_n = f_{n-1} + f_{n-2}という事実によって与えられる。これをまとめると、次のようになります。``` def fib(n)： # 基本ケース if n == 0： リターン0 if n == 1： 1 を返す # 再帰の場合 return fib(n - 1) + fib(n - 2) ``` しかし、この方法でフィボナッチ数を再帰的に計算すると、nの値に対して指数関数的な時間がかかるので、このコードは大きな入力に対して非常に遅くなる可能性があります。以前の結果をメモしておくか、非再帰的なアプローチを使うことで改善できるだろう。また、n番目のフィボナッチ数の閉形式も存在し、さらに速く評価することができます。