순열과 조합은 여러 가지 문제를 해결할 때 유용한 개념이다. 흔히 이들을 구하기 위해 itertools
모듈을 사용하지만, 단순히 그 개수만 구하려면 itertools
를 사용할 필요가 없다. 파이썬의 math
모듈에서 이러한 기능을 제공하고 있다.
순서를 고려하여 n
개 중 r
개를 선택하는 경우의 수를 구하려면 math.perm
함수를 사용하면 된다.
import math
n = 5
r = 3
print(math.perm(n, r)) # 결과: 60
위 예제에서 n
이 5이고 r
이 3인 경우, 순열의 개수는 60이다.
순서를 고려하지 않고 n
개 중 r
개를 선택하는 경우의 수를 구하려면 math.comb
함수를 사용하면 된다.
import math
n = 5
r = 3
print(math.comb(n, r)) # 결과: 10
위 예제에서 n
이 5이고 r
이 3인 경우, 조합의 개수는 10이다.
math
모듈의 perm
과 comb
함수를 사용하면 순열과 조합의 개수를 쉽게 구할 수 있다. 다음은 두 함수의 간단한 설명이다:
math.perm(n, r)
: 순서를 고려하여 n
개 중 r
개를 선택하는 경우의 수 (순열)math.comb(n, r)
: 순서를 고려하지 않고 n
개 중 r
개를 선택하는 경우의 수 (조합)이 두 함수를 이용하면 복잡한 계산을 간단하게 처리할 수 있다.