基本情報技術者試験 過去問解説

再帰とは?基本情報技術者試験 平成28年度 春期 午前 問7を解説

基本情報技術者試験 平成28年度 春期 午前 問7は、再帰に関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

n の階乗を再帰的に計算する関数 F(n) の定義において,a に入れるべき式はどれか。ここで,n は非負の整数とする。 n > 0 のとき, F(n) = a n = 0 のとき, F(n) = 1

この問題の出題ポイント

  • 再帰の定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • 関連タグ: 再帰、組合せ、数学。

選択肢

  1. n+F(n-1)
  2. n-1+F(n)
  3. n×F(n-1)正解
  4. (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、弱点分析、復習リマインダーは段階的に提供予定です。