조합 본문
* 순서와 상관 없는, 선택된 성분들의 조합
* { a, b } = { b, a }
* r개의 길이를 갖는 선택 항목의 조합은 r! 개 만큼의 중복이 발생할 수 있다, 따라서 선택된 항목의 중복성을 줄여야 한다
* nPr / r!
* 중복을 방지 한다고 했을때, r개 길이 만큼의 중복인 r!가 발생하는 경우는,
* 순서와 상관없이 고른 r개를 나열하는 경우를 생각해보면 된다.
* a,b,c,d 4가지 카드 중에서 3개의 카드를 고르는 상황에서 발생하는 중복을 알아보자
* ex) abc acb bac bca cab cba -> 순서와 상관없이 이미 고른 것들로 인해 발생하는 경우의 수는 3*2*1 이다
* 정리는 노트에 기록함
* jupyter notebook ( python 3 )
* 조건문 활용 방법
<< 복붙용 코드 >>
numN=int(input("numN 입력 : "))
numR=int(input("numR 입력 : "))
resultP = 1
# nPr / r! 을 시행
import math
for i in range(numN,(numN-numR), -1):
print('i : {}'.format(i))
resultP *= i
print('resultP: {}'.format(resultP))
int(resultP / math.factorial(numR))
Comments