더북(TheBook)

팩토리얼을 이용하여 수식을 좀 더 간단히 하면 다음과 같습니다.

 

 

예를 들어 1, 2, 3, 4, 5처럼 숫자 다섯 개에서 세 개를 선택하여 세 자리 자연수를 만드는 방법의 수를 구해 봅시다.

 

(1) 일반 수식을 이용한 경우: 5P3 = 5×4×3 = 60

 

(2) 팩토리얼을 이용한 경우:

 

파이썬의 itertools 라이브러리를 이용하면 순열과 조합을 쉽게 구현할 수 있습니다. 즉, itertools.permutation을 이용하면, for 문을 사용하지 않고도 다음과 같이 순열을 구할 수 있습니다.

 

In [1]:

from itertools import permutations
# 1, 2, 3 숫자가 적힌 카드가 있을 때,
lists = [1, 2, 3]
# 카드 중 두 장을 꺼내는 경우의 수
a = list(permutations(lists, 2)) # 순열은 permutations() 함수를 사용합니다
print(list(a))

[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]

 

연습 문제


트럼프 카드가 열 장 있습니다. 열 장 중 임의로 세 장을 뽑을 수 있는 방법의 수를 구하세요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.