Factorial
階乗 n! = n×(n-1)×...×1 は順列と組合せの基礎である。極めて速く増大し、20! はすでに 64 ビット整数の範囲を超える。
目的
n 要素の順列を数え上げる、組合せ論の基礎。
メカニズム
n! = n×(n-1)!、0!=1。スターリングの近似:n! ≈ √(2πn)(n/e)^n。大きな n には BigInteger が必要。ガンマ関数は階乗を非整数へ拡張する。対数階乗はオーバーフローを避けるため lgamma を使う。
ユースケース
- 順列とコンビネーションの計数
- 確率・統計(ポアソン分布)
- テイラー級数の係数
- ガンマ関数
例
- 入力
5=5×4×3×2×1=120Output120Number of permutations of 5 elements
よくあるエラー
- Factorial overflow for large n
- Use BigInteger or log-factorials
関連用語
Permutation
順列はn個からk個を選ぶ順序付きの数え方であり、P(n,k)=n!/(n-k)! で計算する。全順列の個数はn!である。 用語集
Combination
組み合わせとは、n 個から順序を考慮せずに k 個を選ぶ選び方の数 C(n,k)=n!/(k!(n-k)!)、すなわち二項係数である。 用語集
Fibonacci Sequence
フィボナッチ数列は各項が前の 2 項の和である数列(0,1,1,2,3,5,8...)であり、黄金比と関係し、自然界とアルゴリズムに広く現れる。 用語集
BigInteger
BigInteger は任意精度の整数型であり、固定ワードサイズに制限されず、ネイティブ整数の範囲を超える計算(暗号や組合せ論など)に使われる。 用語集
関連ツール
高精度計算ツール
High-precision arithmetic calculator. No floating-point errors。無料、プライベート、100%クライアントサイド。 ツール
階乗計算ツール
Factorial Calculator — 純クライアントサイドツール。プライバシーファースト、サーバー往復なし。 ツール
順列計算ツール
Permutation Calculator — 純クライアントサイドツール。プライバシーファースト、サーバー往復なし。 ツール
組合せ計算ツール
Combination Calculator — 純クライアントサイドツール。プライバシーファースト、サーバー往復なし。 ツール
二項係数計算ツール
Binomial Coefficient — 純クライアントサイドツール。プライバシーファースト、サーバー往復なし。 ツール