平成27年度 秋期 基本情報技術者試験 午前 問8
テクノロジ/アルゴリズム自然数 n に対して,次のとおり再帰的に定義される関数 f(n) を考える。f(5) の値はどれか。 f(n): if n≦1 then return 1 else return n+f(n−1)
出典:平成27年度 秋期 基本情報技術者試験 午前 問8
- ア6
- イ9
- ウ15
- エ25
正解:ウ
解説
f(n)はn≦1のとき1を返し,それ以外はn+f(n−1)を返す再帰関数です。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となります。
選択肢ごとの解説
- ア誤り。f(2)の値(2+f(1)=2+1=3)などと混同した計算です。正しくはf(5)=15です。
- イ誤り。途中の項の一部だけを加算した値であり,5から1までの合計にはなっていません。
- ウ正しい。f(5)=5+4+3+2+f(1)=5+4+3+2+1=15です。
- エ誤り。5×5などと誤って掛け算した値で,再帰的な足し算の結果とは異なります。