fact(n)は、非負の整数nに対してnの階乗を返す。fact(n)の再帰的な定義はどれか。
階乗の再帰は0!=1を基底にn×fact(n-1)
選択肢
- アif n=0 then return 0 else return n×fact(n-1)
- イif n=0 then return 0 else return n×fact(n+1)
- ウif n=0 then return 1 else return n×fact(n-1)
- エif n=0 then return 1 else return n×fact(n+1)
正解と解説
正解:ウ if n=0 then return 1 else return n×fact(n-1)
階乗は0!=1を出発点として、n!=n×(n-1)!と再帰的に定義される。したがって再帰の基底部ではn=0のときに1を返し、それ以外はnと引数を1減らした再帰呼出しの積を返す形が正しい。
選択肢ごとの解説
- ア基底部で0を返すため、掛け合わせた結果が常に0になってしまう。
- イ基底部が0を返す点も、引数を増やす再帰の向きも誤り。
- ウ正しい。0!=1を基底とし、n×fact(n-1)を返す。
- エ引数を増やしていくため基底部に到達せず再帰が終わらない。
同じ分野の他の問題
- fact(n)は,非負の整数nに対してnの階乗を返す。fact(n)の再帰的な定義はどれか。2025年度 春期 午前 問7
- 0≦x≦1の範囲で単調に増加する連続関数f(x)がf(0)<0≦f(1)を満たすときに,区間内でf(x)=0であるxの値…2025年度 春期 午前 問2
- 整列方法に関するアルゴリズムの記述のうち、バブルソートの記述はどれか。ここで、整列対象は重複のない1から9の数字がランダ…2024年度 春期 午前 問7
- 正の整数Mに対して、次の二つの流れ図に示すアルゴリズムを実行したとき、結果xの値が等しくなるようにしたい。aに入れる条件…2024年度 春期 午前 問5
- あるデータ列を整列したら状態0から順に状態1、2、・・・・、Nへと推移した。整列に使ったアルゴリズムはどれか。2023年度 秋期 午前 問6
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。