問題
選択肢
- 1if n=0 then return 0 else return n×fact(n−1)
- 2if n=0 then return 0 else return n×fact(n+1)
- 3if n=0 then return 1 else return n×fact(n−1)
- 4if n=0 then return 1 else return n×fact(n+1)
正解
3. if n=0 then return 1 else return n×fact(n−1)
詳しい解説を見る解説を閉じる
解説
階乗の定義は 0!=1、n!=n×(n−1)! である。再帰の基底条件は n=0 のとき 1 を返すこと、再帰呼出しは n×fact(n−1) で 1 ずつ小さくしていくことである。0 を返す定義では常に 0 になってしまい誤り。fact(n+1) では値が増えて停止しない。よって基底で 1 を返し fact(n−1) を呼ぶウが正解。(出典: 平成25年度 春期 応用情報技術者試験 午前 問6)
一問一答
全400問を繰り返し学習