次のプログラム中の に入れる正しい答えを、解答群の中から選べ。 関数factorialは非負の整数nを引数にとり、その階乗を返す関数である。非負の整数nの階乗はnが0のときに1になり、それ以外の場合は1からnまでの整数を全て掛け合わせた数となる。 〔プログラム〕 ○整数型: factorial(整数型: n) if (n = 0) return 1 endif return

再帰は停止条件+引数を1つ小さくした自己呼出し

頻出基本情報技術者試験2022年度 公開問題 科目B7/アルゴリズムとプログラミング / アルゴリズム

○整数型: factorial(整数型: n) if (n = 0) return 1 endif return

選択肢

正解と解説

正解: n × factorial(n - 1)

階乗の定義は n! = n ×(n-1)! で、n=0のときだけ1になります。プログラムの冒頭でn=0の場合を返しているのが再帰の停止条件なので、残りは自分自身を1つ小さい引数で呼び出し、その結果にnを掛けて返す形になります。引数が必ず減っていくため、いずれ停止条件に到達します。

選択肢ごとの解説

出典:令和4年度 公開問題 基本情報技術者試験 科目B 問7(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。