"math.integer" --- 整数専用の数学関数
*************************************

Added in version 3.15.

======================================================================

このモジュールは、整数引数に対して定義された数学関数を提供します。 こ
れらの関数は、整数と "__index__()" メソッドを実装したオブジェクトを受
け付けます。 このメソッドはオブジェクトを整数に変換するために使われま
す。

このモジュールは以下の関数を提供します。 戻り値はすべて正確に計算され
た整数です。

math.integer.comb(n, k, /)

   *n* 個の中から *k* 個を重複無く順序をつけずに選ぶ方法の数を返します
   。

   "k <= n" のとき "n! / (k! * (n - k)!)" と評価し、"k > n" のとき 0
   と評価します。

   これは "(1 + x)ⁿ" の多項式展開における第 k 項の係数と等しいので、二
   項係数とも呼ばれます。

   引数のいずれかが負の場合、"ValueError" を送出します。

math.integer.factorial(n, /)

   非負整数 *n* の階乗を返します。

math.integer.gcd(*integers)

   指定された整数引数の最大公約数を返します。0 でない引数があれば、返
   される値は全ての引数の約数である最大の正の整数です。全ての引数が 0
   なら、返される値は "0" です。引数の無い "gcd()" は "0" を返します。

math.integer.isqrt(n, /)

   非負整数 *n* の整数平方根を返します。これは *n* の正確な平方根の床
   であり、 *a*² ≤ *n* を満たす最大の整数 *a* と等価です。

   用途によっては、*n* ≤ *a*² を満たす最小の整数 *a*、つまり *n* の正
   確な平方根の天井を求める方が便利な場合があります。 正の *n* に対し
   ては、"a = 1 + isqrt(n - 1)" で計算できます。

math.integer.lcm(*integers)

   指定された整数引数の最小公倍数を返します。全ての引数が 0 でなければ
   、返される値は全ての引数の倍数である最小の正の整数です。引数に 0 が
   あれば、返される値は "0" です。引数の無い "lcm()" は "1" を返します
   。

math.integer.perm(n, k=None, /)

   *n* 個の中から *k* 個を重複無く順序をつけて選ぶ方法の数を返します。

   "k <= n" のとき "n! / (n - k)!" と評価し、"k > n" のとき 0 と評価し
   ます。

   *k* を指定しない場合や "None" の場合、*k* のデフォルト値は *n* とな
   り、関数は "n!" を返します。

   引数のいずれかが負の場合、"ValueError" を送出します。
