過去問解きまくり研究所 ホーム

令和7年度 春期 午前 問7

基礎理論

fact(n)の再帰的な定義

fact(n) は,非負の整数 n に対して n の階乗を返す。fact(n) の再帰的な定義はどれか。

答えと解説を見る

✓ これが正解ウif n=0 then return 1 else return n×fact(n−1)

解説

0の階乗は1、n≧1では n×fact(n−1) と定義します。

階乗は、0 の階乗を 1 と定め、それ以上の n の階乗は n から 1 まで順に掛け合わせた値と定義される関数です。再帰で書き表すときは、この 0 のときの値を停止のための基底とし、それ以外のときは自分自身をより小さな引数で呼び出して、その戻り値に n を掛ける形に整えます。基底の返す値を誤って 0 にすると、n≧1 の階乗もすべて 0 になってしまうので、基底は必ず 1 を返す必要があります。また、より小さな引数で呼び出す部分は fact(n−1) でなければ、引数が減っていかず基底に届かないので再帰が終わりません。正解の肢はこの二点、基底で 1 を返すことと、引数を 1 減らして自分を呼ぶことの両方を満たしています。

ほかの選択肢はなぜ違うのか

出典:令和7年度 春期 応用情報技術者試験 午前 問7

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)