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번째 항의 계수와 동일하기 때문에 이항 계수(binomial coefficient)라고도 불립니다.인자 중 하나라도 음수이면
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이면, k 는 n 으로 기본 설정되며 함수는n!을 반환합니다.인자 중 하나라도 음수이면
ValueError를 발생시킵니다.