Python

math.integer — 정수 관련 수학 함수

Added in version 3.15.


이 모듈은 정수 인수에 대해 정의된 수학 함수에 접근할 수 있게 합니다. 이 함수들은 정수와 객체를 인수로 받으며, 이 객체는 __index__() 메서드를 구현해야 하며, 이 메서드는 객체를 정수로 변환하는 데 사용됩니다.

이 모듈에서 제공하는 함수는 다음과 같습니다. 모든 반환 값은 정확하게 계산된 정수입니다.

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

반복과 순서 없이 n 개의 항목에서 k 개의 항목을 선택하는 방법의 수를 반환합니다.

k <= n\이면 n! / (n - k)!\로 평가되고, k > n\이면 0으로 평가됩니다.

이항 계수라고도 불립니다. 이는 (1 + x)ⁿ 의 k번째 항의 계수와 같습니다.

인자 중 어느 하나라도 음수이면 ValueError\를 발생시킵니다.

math.integer.factorial(n, /)

음이 아닌 정수 n\의 계승(factorial)을 반환합니다.

math.integer.gcd(*integers)

지정된 정수 인자들의 최대 공약수를 반환합니다. 인자 중 어느 하나라도 0이 아니면, 반환 값은 모든 인자의 약수인 가장 큰 양의 정수입니다. 모든 인자가 0이면, 반환 값은 0 입니다. 인자 없이 gcd() 를 호출하면 0 이 반환됩니다.

math.integer.isqrt(n, /)

음이 아닌 정수 n \의 정수 제곱근을 반환합니다. 이것은 n \의 정확한 제곱근의 바닥(floor)입니다. 또는 동등하게, a \ ² ≤ n \을 만족하는 가장 큰 정수 a 입니다.

일부 애플리케이션의 경우, n ≤ a \ ²\을 만족하는 가장 작은 정수 a 를 갖는 것이 더 편리할 수 있습니다. 즉, n \의 정확한 제곱근의 올림(ceiling)입니다. 양수인 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 인 경우, kn 으로 기본값이 설정되며 함수는 n! 를 반환합니다.

인자 중 어느 하나라도 음수이면 ValueError\를 발생시킵니다.