たとえば、学生番号順に整列済みの学生データを、テストの点数順で安定ソートを用いて並べ替えたとき、ソート後のデータにおいて、同じ点数の学生は学生番号順で並ぶようになっている。である。空積の規約の下と定義する。階乗の定義は、最も重要な性質を残したまま、非整数を引数とする函数に拡張することができる。そうすれば解析学における著しい手法などの進んだ数学を利用できるようになる。定義.いくつか同値な条件により定義することが可能である。上記の何れの定義においても、など様々に挙げることができる。プログラミング言語における階乗.多くのプログラミング言語において、再帰的な定義を利用し、プロシージャの再帰呼び出しを用いた階乗の実装が可能である。組合せ論.代数学に現れる階乗にはいくつも理由があるが、既述の如く二項展開の係数として現れたり、ある種の演算のにおいて置換による平均化を行うなど、組合せ論的な理由で現れるものもある。微分積分学においても階乗は例えばテイラー級数の分母として現れるが、これは冪函数の階導函数がであることを補正する定数である。確率論でも階乗は用いられる。と書けば、(この数値を計算することを考えれば効率が悪くなるが)二項係数の対称性を見るには都合がよい。数論における階乗.階乗は数論にも多くの応用を持つ。特には以下の全ての素数で整除されねばならない。このことの帰結として、が合成数となる必要十分条件はが満たされることである。より強い結果としてウィルソンの定理はがが素数であるための必要十分条件であることを述べる。ルジャンドルの公式はの素因数分解に現れるの重複度がであることを示す。これはに等しくなる。ただし、はの進展開の係数の和である。が素数となるはのみである。の形の素数は階乗素数と呼ばれる。より大きな階乗は全て偶数である(これらは明らかに因数を持ち、の倍数である)。同様に、より後の階乗はの倍数(とを因数に持つ)であり、十進展開の。ブロカールの問題.ブロカールの問題とは、階乗の解析学.階乗の逆数和.階乗の逆数の総和は収束級数を与える(ネイピア数を参照)。この和は無理数となるけれども、階乗に適当な正整数を掛けて和が有理数となるようにすることができる。例えば、