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

基本情報技術者試験 科目A免除 修了試験 20221211 実施分 問10

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

出典:基本情報技術者試験 科目A免除 修了試験 20221211 実施分 問10

答えと解説を見る

正解:ウ

覚える知識

再帰関数のトレース計算

再帰関数は終了条件まで自己呼出しを展開し、戻りながら値を合成してトレースする。

この問題で必要なこと

f(n)=n+f(n-1)、f(1)=1を展開して f(5)=5+4+3+2+1=15 になる。

ひっかけ

f(5)=5+f(4) の展開を途中で止めたり、f(1)の値を誤ったりすると誤答になる。

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

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

同じ知識の過去問