HOME»サンプル問題»[科目A]問8

サンプル問題 [科目A]問8

問8

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

 ƒ(n):if n≦1 then return 1 else return n+ƒ(n−1)
  • 6
  • 9
  • 15
  • 25
  • [出題歴]
  • 基本情報技術者 R1秋期 問11

分類

テクノロジ系 » アルゴリズムとプログラミング » アルゴリズム

正解

解説

再帰関数は、関数内で自分自身を読み出す構造になっている関数です。

設問の再帰関数 ƒ(n) は以下のような処理を行います。
引数nが1以下のとき
1を返す
それ以外の場合
n+ƒ(n−1)を返す
ƒ(n)の部分を展開しながら地道に計算していくと次のようになります。

 ƒ(5)
=5+ƒ(4) //ƒ(5)=5+ƒ(4)
=5+4+ƒ(3) //ƒ(4)=4+ƒ(3)
=5+4+3+ƒ(2) //ƒ(3)=3+ƒ(2)
=5+4+3+2+ƒ(1) //ƒ(2)=2+ƒ(1)
=5+4+3+2+1 //ƒ(1)=1
=15

したがって、ƒ(5)の値は15です。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop