基本情報技術者試験 過去問解説
再帰とは?基本情報技術者試験 平成28年度 春期 午前 問7を解説
基本情報技術者試験 平成28年度 春期 午前 問7は、再帰に関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。
問題文
n の階乗を再帰的に計算する関数 F(n) の定義において,a に入れるべき式はどれか。ここで,n は非負の整数とする。 n > 0 のとき, F(n) = a n = 0 のとき, F(n) = 1
この問題の出題ポイント
- 再帰の定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
- 関連タグ: 再帰、組合せ、数学。
選択肢
- アn+F(n-1)
- イn-1+F(n)
- ウn×F(n-1)正解
- エ(n-1)×F(n)
正解
ウ: n×F(n-1)
解説
階乗の定義 n! = n × (n-1)! なので、再帰式は F(n) = n × F(n-1)。基底 F(0)=1。
なぜ他の選択肢が違うのか
ア
これは合計の計算式で階乗ではありません。
イ
F(n)が自分自身を含むと無限再帰になり計算できません。
ウ(正解)
n!=n·(n-1)! の定義通り、正しい再帰式です。
エ
(n-1)·F(n) は F(n) が両辺に出る無限再帰で誤り。
解き方の整理
再帰の問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。
関連問題
前後の問題
復習を続ける
間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。