午前問8
自然数nに対して、次のように再帰的に定義される関数f(n)を考える。f(5)の値はどれか。
f(n):if n≦1 then return 1 else return n+f(n−1)
f(n):if n≦1 then return 1 else return n+f(n−1)
6 | |
9 | |
15 | |
25 |
『情報処理過去問.com』からiPhoneアプリがリリースされました!!
正解
- ウ
解説
再帰的に定義される関数のことを再帰関数といいます。
再帰関数とはプログラミングにおける技法の一つで、関数の処理の中で自分自身の関数を呼び出すことです。
設問の再帰関数に引数を設定し計算すると以下のようになります。
f(5)=5+f(5-1)=5+f(4)
=5+4+f(4-1)=5+4+f(3)
=5+4+3+f(3-1)=5+4+3+f(2)
=5+4+3+2+f(2-1)=5+4+3+2+f(1)
=5+4+3+2+1
=25
よって正解は「エ」となります。
再帰関数とはプログラミングにおける技法の一つで、関数の処理の中で自分自身の関数を呼び出すことです。
設問の再帰関数に引数を設定し計算すると以下のようになります。
f(5)=5+f(5-1)=5+f(4)
=5+4+f(4-1)=5+4+f(3)
=5+4+3+f(3-1)=5+4+3+f(2)
=5+4+3+2+f(2-1)=5+4+3+2+f(1)
=5+4+3+2+1
=25
よって正解は「エ」となります。