始める無料で始める

関数呼び出し回数を数える

再帰の代表例としてフィボナッチ数列を考えましょう。0 から始まる非負整数の数列で、各要素 \(F(n)\) は直前の2つの和になります:0, 1, 1, 2, 3, 5, 8, 13, 21, ...。次の関数は、数列の \(n\) 番目の要素と、計算で呼び出された fib() の回数を含むタプルを返します。

def fib(n):

  if n < 2:
    return (n, 1)

  fib1 = fib(n-1)
  fib2 = fib(n-2)

  return (fib1[0] + fib2[0], fib1[1] + fib2[1] + 1)

数列の \(15^{th}\) と \(20^{th}\) の要素を計算するには、fib() の呼び出しがそれぞれ何回必要になりますか?

この演習はコースの一部です

Pythonでコーディング面接問題を練習する

コースを見る

実践的なインタラクティブ演習

理論を実践に変える、インタラクティブな演習のひとつをお試しください

演習を開始する