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

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

自然数nに対して,次のとおり再帰的に定義される関数 f(n) を考える。f(5)の値はどれか。 f(n): if n≦1 then return 1 else return n+f(n−1)
f(n): if n≦1 then return 1 else return n+f(n−1)
答えを選ぶ

出典:基本情報技術者試験 科目A免除 修了試験 20180722 実施分 問7(問題文は IPA の公開問題。解説は当サイト作成)

答えと解説を見る

正解:ウ

覚える知識

再帰関数のトレース計算

再帰関数は終了条件に達するまで自分自身を呼び、戻り値を順に足し上げる。

この問題で必要なこと

f(5)=5+f(4)=5+4+3+2+f(1)で、f(1)=1だから15。

ひっかけ

f(1)の値を0とみなす、または階乗のように乗算とみなす誤り。

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

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

同じ知識の過去問