アルゴリズムとプログラミング
基本情報技術者試験 科目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 回(公開問題での観測値)