liminfo

Combinatorics Calculator

조합론 계산기

Combinatorics Calculator 소개

경우의 수 계산기는 순열(nPr), 조합(nCr), 팩토리얼(n!), 중복순열(n^r), 중복조합 H(n,r), 카탈란 수 등 6가지 유형의 조합론적 수량을 계산하는 무료 온라인 도구입니다. 계산 유형을 선택하고 n(과 필요한 경우 r)을 입력한 후 계산 버튼을 클릭하면 사용된 공식과 함께 결과가 표시됩니다. 예를 들어 "P(5, 3) = 5! / (5-3)!"와 숫자 결과 "60"이 표시됩니다.

학생, 교사, 수학자들이 확률 문제, 이산수학 교과 과정, 알고리즘 분석의 계산 문제, 수학 경시 대회에 이 계산기를 사용합니다. 도구는 JavaScript BigInt 산술을 사용하여 매우 큰 수를 정확하게 처리하므로, 큰 팩토리얼이나 조합에서 표준 Number 타입으로 발생하는 부동소수점 오버플로를 방지합니다. 10자리를 초과하는 결과는 크기를 나타내기 위해 자릿수가 표시됩니다.

6가지 지원 계산 유형은 기초 조합론의 전체 범위를 포괄합니다: 순열은 반복 없는 순서 있는 배열을, 조합은 순서 없는 부분집합을, 팩토리얼은 n!을, 중복순열은 반복 있는 순서 있는 선택(n^r)을, 중복조합은 다중집합 H(n,r) = C(n+r-1, r)를, 카탈란 수는 트리 계산, 괄호 문제, 딕 경로에 사용되는 C_n = C(2n,n)/(n+1)을 계산합니다. 브라우저 중단을 방지하기 위해 팩토리얼 입력은 n=1000으로, 카탈란 수는 n=500으로 제한됩니다.

주요 기능

  • 6가지 계산 유형: 순열 nPr, 조합 nCr, 팩토리얼 n!, 중복순열, 중복조합 H(n,r), 카탈란 수
  • 부동소수점 오류 없이 임의의 큰 수에 대한 정확한 정수 결과를 위한 BigInt 산술
  • 각 결과와 함께 공식 표시 (예: "C(10, 3) = 10! / (3! * (10-3)!)")
  • 크기를 표시하기 위해 10자리 이상의 결과에 자릿수 표시
  • 특정 오류 메시지가 있는 입력 검증 (예: "r은 n 이하여야 합니다")
  • 수치 결과를 클립보드에 복사하는 원클릭 복사 버튼
  • 성능 문제 방지를 위해 팩토리얼은 n=1000, 카탈란은 n=500으로 제한
  • 100% 클라이언트 사이드 계산 — 서버 호출 없이 브라우저에서 모든 BigInt 계산 실행

자주 묻는 질문

순열과 조합의 차이는 무엇인가요?

순열 nPr은 n개의 구별되는 항목에서 r개를 선택하여 순서 있게 배열하는 방법의 수를 계산합니다. 조합 nCr은 순서에 관계없이 n개에서 r개를 선택하는 방법의 수를 계산합니다. 예를 들어 P(4,2) = 12(순서 있는 쌍)인 반면 C(4,2) = 6(순서 없는 쌍)입니다.

중복순열이란 무엇인가요?

중복순열(반복 있는 순열)은 항목이 반복될 수 있는 n개 항목의 집합에서 뽑은 길이 r의 순서 있는 수열의 수를 계산합니다. 공식은 n^r입니다. 예를 들어 숫자 0-9를 사용한 3자리 PIN의 수는 10^3 = 1000입니다.

중복조합 H(n, r)이란 무엇인가요?

중복조합(다중집합 조합)은 반복이 허용되고 순서가 중요하지 않을 때 n가지 유형에서 r개를 선택하는 방법의 수를 계산합니다. 공식은 H(n,r) = C(n+r-1, r)입니다. 예를 들어 4가지 종류의 과일에서 반복을 허용하여 3개를 선택하는 방법의 수는 H(4,3) = C(6,3) = 20입니다.

카탈란 수는 어떤 용도로 사용되나요?

카탈란 수는 많은 조합론적 계산 문제에 등장합니다: 길이 2n의 유효한 괄호 수열의 수, n+1개의 잎을 가진 서로 다른 이진 트리의 수, 볼록 다각형을 삼각형으로 나누는 방법의 수, (0,0)에서 (2n,0)까지의 딕 경로의 수 등입니다. C_n = C(2n,n) / (n+1).

왜 BigInt를 사용하나요?

표준 JavaScript 숫자는 64비트 부동소수점(IEEE 754)으로 2^53 ≈ 9000조까지만 정수를 정확하게 표현할 수 있습니다. 팩토리얼과 조합은 훨씬 빠르게 증가합니다 — 예를 들어 21!은 2^53을 초과합니다. 이 계산기는 임의 정밀도 정수를 지원하는 JavaScript BigInt를 사용하므로 100!이나 C(200, 100) 같은 결과를 완전한 정밀도로 계산하고 표시합니다.

입력할 수 있는 n의 최대값은 얼마인가요?

팩토리얼의 경우 브라우저 멈춤을 방지하기 위해 n은 1000으로 제한됩니다. 카탈란 수의 경우 n은 500으로 제한됩니다. 순열, 조합, 중복순열, 중복조합의 경우 엄격한 제한은 없지만, n이나 r의 매우 큰 값은 수천 자리 결과를 생성하여 표시가 느릴 수 있습니다.

조합 공식은 어떻게 최적화되나요?

조합 C(n, r)은 곱셈 횟수를 줄이기 위해 r = min(r, n-r) 최적화를 사용하여 계산됩니다. 결과는 전체 팩토리얼 n!, r!, (n-r)!을 개별적으로 계산하는 대신 반복적인 누적 곱으로 계산되며, 이는 더 빠르고 BigInt를 사용해도 중간 오버플로를 방지합니다.

이 계산기는 무료인가요?

네, 완전히 무료입니다. 회원가입, 제한, 사용을 방해하는 광고가 없습니다. 모든 계산은 BigInt 산술로 브라우저에서 로컬로 실행됩니다.