階乗とは?かいじょう
階乗とは、1からnまでの整数をすべて掛け合わせた値で、n!と書く。5!=5×4×3×2×1=120であり、0!は1と定義される。n!=n×(n−1)!のように、1つ小さい階乗を使って表せるため、科目Bでは再帰(関数が自分自身を呼び出すこと)の代表例として、F(n)=n×F(n−1)、F(0)=1を書く問題で出る。n個のものを1列に並べる並べ方の総数もn!にあたり、順列や確率の計算に繰り返し現れる。nが増えると値が爆発的に大きくなる点が特徴。
最終更新:2026-10-09
この語が出る過去問を解く →背景
場合の数を数えるときには、「1個目に選べるのはn通り、2個目は残りのn−1通り」と、選ぶたびに候補が1つずつ減っていく状況が何度も現れる。この掛け算の並びを毎回書き下すのは煩雑なので、全体に1つの記号を与えたものが階乗である。順列nPrや組合せnCrの式も、この記号を使うことで短い形にまとめられるようになった。
具体例
5人が1列に並ぶ並び方は5!=120通り、10人なら10!=3,628,800通りになる。人数が1人増えるたびに、値は増えた後の人数の倍だけ大きくなる(5!→6!は6倍、9!→10!は10倍)。総当たりで最短経路を探す巡回セールスマン問題が現実的に解けなくなるのも、候補数がこの勢いで増えるためである。
試験での引っ掛け
0!は0ではなく1である点が引っ掛けになる。また、階乗がそのまま答えになるのは全部を並べる場合であり、n個からr個を取り出して並べるならnPr=n!÷(n−r)!、順序を問わず選ぶだけならnCrを使う。並べるのか選ぶのかを読み違えないこと。
関連用語
出た過去問
出典:令和4年度 公開問題 基本情報技術者試験 科目B 問7(IPA)
次のプログラム中の に入れる正しい答えを、解答群の中から選べ。 関数factorialは非負の整数nを引数にとり、その階乗を返す関数である。非負の整数nの階乗は…
正解:n × factorial(n - 1)
要点:再帰は停止条件+引数を1つ小さくした自己呼出し
階乗の定義は n! = n ×(n-1)! で、n=0のときだけ1になります。プログラムの冒頭でn=0の場合を返しているのが再帰の停止条件なので、残りは自分自身を1つ小さい引数で呼び出し、その結果にnを掛けて返す形になります。引数が必ず減っていくため、いずれ停止条件に到達します。
出典・参考
公式シラバスの1 基礎理論 > 2. 応用数学 > (1) 確率と統計に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。