경우의 수 문제에 쓰이는 조합(nCr), 순열(nPr), 팩토리얼(n!), 중복조합·중복순열을 한번에 계산합니다. 순서가 중요하면 순열, 무관하면 조합입니다.

💡 공식 정리

유형공식예시
조합 nCrn! ÷ (r!(n−r)!)5명 중 2명 고르기
순열 nPrn! ÷ (n−r)!5명 중 2명 줄세우기
중복조합 nHr(n+r−1)Cr3종 과일 5개 (중복 허용)
중복순열n^r4자리 PIN (0~9)
팩토리얼 n!1×2×…×n5명 전원 줄세우기

조합과 순열의 차이

순열은 순서가 중요합니다. (A,B)와 (B,A)를 다르게 셉니다. 조합은 순서 무관이라 둘을 같은 것으로 봅니다. 따라서 같은 n, r에서 nPr = nCr × r!가 성립합니다.

자주 묻는 질문 (FAQ)

Q. 중복조합은 언제 쓰나요?

같은 항목을 여러 번 고를 수 있을 때입니다. 예: 3종 아이스크림 중 5스쿱 고르기(같은 맛 중복 가능) → 3H5 = 21가지.

Q. 큰 수를 넣으면 왜 Infinity가 나와요?

JavaScript의 숫자는 2^53까지만 정확히 표현합니다. 170! 이상은 Infinity가 됩니다. 단, nCr·nPr은 내부적으로 약분해 계산하므로 일반적인 크기에선 문제없습니다.

Q. 0! = 1인 이유?

수학적 관례이자 점화식 n! = n × (n−1)!이 일관되게 작동하도록 정의된 값입니다.