アルゴリズムとプログラミング

令和元年度 秋期 基本情報技術者試験 午前 問11

自然数 n に対して,次のとおり再帰的に定義される関数 f(n) を考える。f(5) の値はどれか。
f(n): if n≦1 then return 1 else return n+f(n-1)
  • ア 6
  • イ 9
  • ウ 15
  • エ 25

出典:令和元年度 秋期 基本情報技術者試験 午前 問11

答えと解説を見る

正解:ウ

覚える知識

再帰関数のトレース計算

再帰関数は自分自身を呼び出し、終了条件で打ち切って結果を畳み込む。

この問題で必要なこと

f(5)=5+f(4)=…=5+4+3+2+1=15 と、n≦1のとき1を返す条件まで展開して求める。

ひっかけ

展開ミスで階乗や5²と取り違えさせる。

この知識の出題:本試験系 8 回・免除試験 11 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「再帰呼出しと引数の渡し方」で学ぶ

同じ知識の過去問