순서가 중요하지 않다
<-> 순열은 순서가 중요
하다🏷️풀이
numN = int(input('numN 입력 : '))
numR = int(input('numR 입력 : '))
resultP = 1
resultR = 1
resultC = 1
for n in range(numN, (numN-numR), -1):
print('n : {}'.format(n))
resultP = resultP * n
print('resultP: {}'.format(resultP))
for n in range(numR, 0, -1):
print('n : {}'.format(n))
resultR = resultR * n
print('resultR: {}'.format(resultR))
resultC = int(resultP / resultR)
print('resultC: {}'.format(resultC))
resultP : 순열의 값
resultR : r의 값
resultC : 조합의 값
(1) [순열]의 값 먼저. n ~ (n-r+1)까지 1개씩 빼면서
출력
순열(resultP)을 구할 수 있게 됨
(2)[r!]를 구하기 위해서 연산. r ~ 1 까지 1개씩 뺴면서
출력
r! 값을 구함(resultR)
(3) [조합]을 구할 차례, 순열(resultP) / r!(resultR)
조합(resultC)을 구함
🏷️풀이
numN = int(input('numN 입력 : '))
numR = int(input('numR 입력 : '))
resultP = 1
resultR = 1
resultC = 1
for n in range(numN, (numN-numR), -1):
print('n : {}'.format(n))
resultP = resultP * n
print('resultP: {}'.format(resultP))
for n in range(numR, 0, -1):
print('n : {}'.format(n))
resultR = resultR * n
print('resultR: {}'.format(resultR))
resultC = int(resultP / resultR)
print('resultC: {}'.format(resultC))
result = (1/resultC) * 100 ✔️
print('{}%'.format(round(result, 2))) ✔️
✔️ (추가1) result = (1/resultC) * 100
-> 확률 계산을 위해 1/조합 * 100
✔️ (추가2) print('{}%'.format(round(result, 2)))
-> 실수가 예상되어 round(결과, 소수점자리) 사용