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

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
自然数nに対して,次のとおり再帰的に定義される関数ƒ(n)を考える。ƒ(5)の値はどれか。

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

  • 6
  • 9
  • 15
  • 25
正解 問題へ
分野:テクノロジ系
中分類:アルゴリズムとプログラミング
小分類:アルゴリズム
解説
再帰関数は、関数内で自分自身を読み出す構造になっている関数です。

設問の再帰関数 ƒ(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です。

この問題の出題歴


Pagetop