HOME»基本情報技術者平成21年春期»午前問8
基本情報技術者平成21年春期 午前問8
問8
自然数nに対して,次のように再帰的に定義される関数ƒ(n)を考える。ƒ(5)の値はどれか。
ƒ(n):if n≦1 then return 1 else return n+ƒ(n-1)
ƒ(n):if n≦1 then return 1 else return n+ƒ(n-1)
- 6
- 9
- 15
- 25
- [出題歴]
- 基本情報技術者 R1秋期 問11
- 基本情報技術者 H27秋期 問8
分類
テクノロジ系 » アルゴリズムとプログラミング » アルゴリズム
正解
ウ
解説
再帰関数は、関数内で自分自身を読み出す構造になっている関数です。
設問の再帰関数 ƒ(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です。
設問の再帰関数 ƒ(n) は以下のような処理を行います。
- 引数nが1以下のとき
- 1を返す
- それ以外の場合
- n+ƒ(n-1)を返す
ƒ(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です。