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を送出します。