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

平成29年度 秋期 午前 問7

基礎理論

fact (n)の再帰的な定義

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

答えと解説を見る

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

解説

零の階乗は一、引数は一つ小さくするのが正しい形です。

設問は、非負の整数に対して階乗を返す関数の、再帰的な定義として正しいものを選ばせています。四つの記述は、引数が零のときに返す値と、次の呼び出しに渡す引数という二か所だけを入れ替えた組合せになっているので、この二点をそれぞれ決めれば残るのはひとつです。まず返す値です。零の階乗は一と定められています。ある数の階乗はその数と、一つ小さい数の階乗との積ですから、一の階乗が一になるためには零の階乗が一でなければつじつまが合いません。次に渡す引数です。再帰は止まる条件へ近づいていかなければならないので、呼び出しのたびに引数を一つ小さくする必要があります。両方を満たす記述を探します。

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

出典:平成29年度 秋期 応用情報技術者試験 午前 問7

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