1. 조합
n개에서 r개를 택하는 경우의 수 (순열과의 차이는 순서가 존재하지 않음)
nCr = nPr / r!
nCr = n! / (r! (n-r)!) (단, 0 < r <= n)
ex)
8C3 = 8! / (3! (8 - 3)!)
#조합
numN = 8
numR = 3
resultP = 1
resultR = 1
resultC = 1
for i in range(numN, (numN-numR), -1):
print('n : {}'.format(i))
resultP = resultP * i
print('resultP : {}'.format(resultP))
for i in range(numR, 0, -1):
print('n : {}'.format(i))
resultR = resultR * i
print('resultR : {}'.format(resultR))
resultC = int(resultP / resultR)
print('resultC : {}'.format(resultC))
2. 확률
모든 사건에서 특정 사건이 일어날 수 있는 수를 나타낸 것
모든 사건 : 표본 공간(sample) / 특정 사건 : 사건(event)
#확률
def proFun():
numN = int(input('numN 입력'))
numR = int(input('numR 입력'))
resultP = 1
resultR = 1
resultC = 1
for n in range(numN, (numN - numR), -1):
resultP = resultP * n
print('resultP = {}'. format(resultP))
for n in range(numR, 0, -1):
resultR = resultR * n
print('resultR = {}'. format(resultR))
resultC = int(resultP / resultR)
print('resultC = {}'.format(resultC))
return resultC
sample = proFun()
print('sample : {}'.format(sample))
event1 = proFun()
print('sample : {}'.format(event1))
event2 = proFun()
print('sample : {}'.format(event2))
probability = (event1 * event2) / sample
print('probability : {}%'.format(round(probability * 100, 2)))