再帰関数の計算

関数の中で自分自身の関数を呼び出す「 再帰関数 」の呼出しを、終了条件に到達するまで順に展開します。 f(5) = 5 + f(4) f(4) = 4 + f(3) f(3) = 3 + f(2) f(2) = 2 + f(1) f(1) = 1 (ここで初めて終了条件 n≤1 に合致し、関数の呼び出しが止まります) 底まで到達したら、今度は求まった値を元の式に下から順番に代入して戻っていきます(スタックからのポップ)。 $$f(5) = 5 + 4 + 3 + 2 + 1 = 15$$ すべて足し合わせると 15 になります。 したがって、正解はウです。

自然数nに対して、次のとおり再帰的に定義される関数 f(n) を考える。f(5)の値はどれか。

f(n): if n≤1 then return 1 else return n + f (n-1)

出典基本情報技術者試験 サンプル問題 科目A 問8
ア
6
イ
9
ウ
15
エ
25