IPA過去問ドリル

平成27年度 秋期 基本情報技術者試験 午前 問8

テクノロジ/アルゴリズム

自然数 n に対して,次のとおり再帰的に定義される関数 f(n) を考える。f(5) の値はどれか。 f(n): if n≦1 then return 1 else return n+f(n−1)

出典:平成27年度 秋期 基本情報技術者試験 午前 問8

正解:ウ

解説

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などと誤って掛け算した値で,再帰的な足し算の結果とは異なります。
基本情報技術者の過去問を演習モードで解く