基本情報技術者試験 |
2009年度 = 平成21年度・春期 |
午前 |
問8 |
自然数n に対して、次のように再帰的に定義される関数f (n )を考える。f (5)の値はどれか。
f (n ) : if n ≦ 1 then return 1 else return n + f (n -1)
ウ
再帰に慣れているのであれば、関数f(n)が、1~nまでの和を求めることは、一目で分かります。したがって、f(5)は15です。
なお、再帰が苦手であれば、実際にトップダウンで計算すればよいでしょう。
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 |