今秋の基本情報技術者試験を受験するにあたって、表題の問題が全く理解できません。
回答の解説を読んでも、なぜそうなるのかがわかりません。
どなたか、解説が可能であればどうぞよろしくお願いいたします。
自然数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)の定義を言葉に置き換えると,「f(n)は,nが1以下のときは1,そうでないならn+f(n-1)となる」となります。
実際にf(5)を計算してみましょう。
f(5)=5+f(4)
次に,f(4)を計算します。
f(4)=4+f(3)
同様に,f(3),f(2),f(1)を計算します。
f(3)=3+f(2)
f(2)=2+f(1)
f(1)=1
よって,f(5)は以下のように計算できます。
f(5)=5+f(4)
=5+4+f(3)
=5+4+3+f(2)
=5+4+3+2+f(1)
=5+4+3+2+1
=15
以上より,正解は,選択肢ウです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/29 03:08