基本情報技術者試験 - 令和4年12月修了 - 問10
| ア | 6 |
|---|---|
| イ | 9 |
| ウ | 15 |
| エ | 25 |
答え : ウ
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › アルゴリズム
解説 :
この関数 f(n) は,nが1以下であれば1を返し,それ以外の場合はnと f(n-1) の和を返すという再帰的な定義になっています。
f(5) を求めるには,まず f(5) が f(4) に5を足した値であることに着目し,さらに f(4) が f(3) に4を足した値,f(3) が f(2) に3を足した値,f(2) がf(1) に2を足した値というように,再帰的にさかのぼって計算していきます。最終的にf(1)は,条件よりnが1以下であるため1を返します。
ここから逆にたどっていくと,f(2) は1に2を足した3,f(3) は3に3を足した6,f(4) は6に4を足した10,f(5) は10に5を足した15となります。従って,f(5) の値は15であり,選択肢「ウ」が正解です。
この関数は,実は1からnまでの整数を全て足し合わせた合計値を計算していることと同じであるため,公式である n×(n+1)÷2 という式を使っても,5×6を2で割った15という同じ答えを得ることができます。
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › アルゴリズム
解説 :
この関数 f(n) は,nが1以下であれば1を返し,それ以外の場合はnと f(n-1) の和を返すという再帰的な定義になっています。
f(5) を求めるには,まず f(5) が f(4) に5を足した値であることに着目し,さらに f(4) が f(3) に4を足した値,f(3) が f(2) に3を足した値,f(2) がf(1) に2を足した値というように,再帰的にさかのぼって計算していきます。最終的にf(1)は,条件よりnが1以下であるため1を返します。
ここから逆にたどっていくと,f(2) は1に2を足した3,f(3) は3に3を足した6,f(4) は6に4を足した10,f(5) は10に5を足した15となります。従って,f(5) の値は15であり,選択肢「ウ」が正解です。
この関数は,実は1からnまでの整数を全て足し合わせた合計値を計算していることと同じであるため,公式である n×(n+1)÷2 という式を使っても,5×6を2で割った15という同じ答えを得ることができます。