本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

令和元年度 秋期 基本情報技術者試験問題と解説

問11

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

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

ア 6  イ 9  ウ 15  エ 25


正解


解説

f(n) は
nが1以下なら1を返す。
nが1よりも大きい場合は、n+f(n-1)となり、再帰的に関数 f(n) を呼び出し、結果を返す。

計算過程は以下のとおりである。

f(5) = 5 + f(5-1) = 5 + f(4)
= 5 + (4 + f(4-1)) = 5 + (4 + f(3)) = 9 + f(3)
= 9 + (3 + f(3-1)) = 9 + (3 + f(2)) = 12 + f(2)
= 12 + (2 + f(2-1)) = 12 + (2 + f(1)) = 14 + f(1)
= 14 + 1 = 15

問10 目次 問12