アルゴリズム・プログラミング計算問題

再帰的なフィボナッチ数列の計算で fib(6) を求めるとき、fib(2) が何回呼び出されるか。なお、fib(0)=0、fib(1)=1、fib(n)=fib(n-1)+fib(n-2) とする。

A.3回
✗ 3回は少なすぎます。fib(6) の再帰展開では fib(2) はより多く呼ばれます。
B.5回← 正解
✓ 正解です。fib(6) の再帰展開で fib(2) の呼び出し回数を数えると5回になります(fib(3)が3回, fib(4)が2回, それぞれからfib(2)が呼ばれる)。
C.8回
✗ 8回は誤りです。fib(1) の呼び出し回数と混同している可能性があります。fib(2)は5回です。
D.13回
✗ 13回は誤りです。これはfib(7)の値であり、fib(2)の呼び出し回数ではありません。

基本情報技術者試験 の問題一覧