問題
再帰関数g(n)=n×g(n-1)でg(1)=1のときg(5)の値は何か。
選択肢
- 1120
- 224
- 360
- 4720
正解
1. 120
詳しい解説を見る解説を閉じる
解説
再帰関数g(n)=n×g(n-1)、基底条件g(1)=1を順に展開すると、g(5)=5×g(4)=5×4×g(3)=5×4×3×g(2)=5×4×3×2×g(1)=5×4×3×2×1=120となり、120が正解である。これは5の階乗(5!)を再帰で計算する典型例である。24は4!でg(4)の値(展開不足)、60は5×4×3で展開を途中で止めた誤り、720は6!で1段多く展開した誤りである。再帰関数の頻出ポイントは①基底条件(再帰を止める条件)がどこかを最初に確認すること、②呼出しを紙に書いて展開し、基底条件から逆に値を確定させていくこと、の2点である。階乗とフィボナッチ数列は再帰の二大頻出題材として必ず押さえておきたい。
一問一答
科目A 180問+科目B 60問