2019年12月01日

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

問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

タグ:再帰関数
posted by ファーストマクロ at 08:34| Comment(0) | R01秋基本情報技術者
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: