도구스학업·수학

조합론 수 계산기 (카탈랑·스털링·벨·분할수)

카탈랑 수, 제1·2종 스털링 수, 벨 수, 정수 분할수를 BigInt로 정확히 계산하고 각각이 «무엇을 세는 수»인지 실제 경우를 뽑아 보여 줍니다. 2의 53제곱을 넘는 구간에서도 끝자리가 맞습니다.

0부터 120까지. 큰 수는 BigInt로 정확히 셉니다.

카탈랑 수 — n=5

42

괄호 n쌍을 올바르게 짝짓는 방법의 수

카탈랑 C542
벨 B552
분할수 p(5)7
제2종 스털링 S(5,3)25
제1종 스털링 c(5,3)35

C5 = 42 — 괄호 5쌍을 짝짓는 방법

((((()))))(((()())))(((())()))(((()))())(((())))()((()(())))((()()()))((()())())((()()))()((())(()))… 모두 42가지

같은 수가 세는 것이 또 있습니다 — 7각형을 대각선으로 삼각형 5개로 쪼개는 방법, 잎이 6개인 이진트리 모양, n×n 격자에서 대각선을 넘지 않는 최단경로가 모두 C5가지입니다.

n = 0…5 값 표

n카탈랑분할수
0111
1111
2222
3553
414155
542527

셋 다 n이 커지면 급하게 커지지만 속도가 다릅니다. 분할수는 대략 e^(π√(2n/3))로, 카탈랑은 4n에 가깝게, 벨 수는 그보다도 빠르게 늘어납니다.

계산 방법

  1. 1보고 싶은 수를 고릅니다. 카탈랑·벨·분할수는 n 하나만, 스털링 수는 n과 k 둘을 씁니다.
  2. 2n을 넣습니다. 0부터 120까지 다루며 큰 값도 BigInt로 정확히 계산합니다.
  3. 3아래에 뽑힌 실제 경우(괄호 짝, 합으로 쓰기, 집합 나눔)를 보고 그 수가 무엇을 세는지 확인합니다.
  4. 4n = 0…16 값 표에서 세 수가 각각 얼마나 빨리 커지는지 견줍니다.

자주 묻는 질문

괄호 n쌍을 올바르게 짝짓는 방법의 수입니다. n=3이면 ((())), (()()), (())(), ()(()), ()()()로 5가지입니다. 같은 수가 n+2각형을 대각선으로 삼각형 n개로 쪼개는 방법, 잎이 n+1개인 이진트리 모양, 격자에서 대각선을 넘지 않는 최단경로도 셉니다. 값은 C(2n,n)/(n+1)이며 나눗셈이 언제나 딱 떨어집니다.

세는 대상이 다릅니다. 제2종 S(n,k)는 서로 다른 원소 n개를 이름 없는 묶음 k개로 빈 묶음 없이 나누는 방법의 수이고, 제1종 c(n,k)는 원소 n개의 순열 가운데 사이클이 정확히 k개인 것의 개수입니다. 제2종 한 행을 모두 더하면 벨 수가 되고, 제1종 한 행을 모두 더하면 n!이 됩니다.

벨 수는 «서로 다른» 원소를 나누고 분할수는 «같은» 것을 나눕니다. 예를 들어 n=3일 때 벨 수는 5인데 {abc}, {ab}{c}, {ac}{b}, {bc}{a}, {a}{b}{c}를 세고, 분할수는 3으로 3, 2+1, 1+1+1만 셉니다. 원소에 이름이 있으면 벨 수, 개수만 있으면 분할수입니다.

이 수들이 배정밀도 실수의 정확한 정수 범위(2의 53제곱, 약 9,007조)를 금방 넘기 때문입니다. 카탈랑 수는 C(31)에서 이미 넘고 벨 수는 그보다도 빠릅니다. 실수로 계산하면 그때부터 끝자리가 조용히 틀리는데 값이 그럴듯해 보여 알아채기 어렵습니다.

같은 것으로 셉니다. 분할수는 순서를 따지지 않아 4를 4, 3+1, 2+2, 2+1+1, 1+1+1+1로 5가지로 셉니다. 순서를 따지는 것은 구성(composition)이라 부르며 2의 (n−1)제곱가지로 훨씬 많습니다.

빈 집합을 나누는 방법이 「아무것도 하지 않기」 하나 있기 때문입니다. 묶음이 0개인 나눔 하나가 조건을 만족하며, 이 값을 1로 두어야 점화식과 벨 수 B(0)=1이 일관되게 맞습니다. n이 0보다 클 때 S(n,0)은 0인데, 빈 묶음이 허용되지 않아 원소를 놓을 곳이 없기 때문입니다.

전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 검증은 잘 알려진 수열과 대조했습니다. 카탈랑 1 1 2 5 14 42 132 429 1430 4862 16796, 벨 1 1 2 5 15 52 203 877 4140 21147 115975, 분할수 1 1 2 3 5 7 11 15 22 30 42, p(50)=204226, p(100)=190569292, S(5,3)=25, c(4,2)=11입니다.
  • 여기에 더해 서로 다른 길로 계산한 값이 맞는지 교차 확인합니다. 카탈랑 수를 이항계수와 볼록 점화식 두 방법으로, 스털링 수를 실제로 집합을 나눠 센 개수와, 분할수를 실제로 합을 써 본 개수와 맞춰 보았습니다.
  • 제1종 스털링 수는 부호 없는 값을 냅니다. 부호 있는 값은 여기에 (−1)의 (n−k)제곱을 곱한 것이며, 다항식 전개 계수로 쓸 때는 부호 있는 쪽이 필요합니다.
  • 실제 경우를 뽑아 보이는 것은 n이 작을 때만 됩니다. 가짓수 자체가 폭발하기 때문이며, 괄호 짝짓기는 n이 12까지, 집합 나눔은 8까지, 합으로 쓰기는 40까지만 예를 그립니다.
  • n은 120까지 다룹니다. 그보다 큰 값도 BigInt로 계산할 수는 있지만 자릿수가 화면을 넘어 읽히지 않습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 1일 · 결과는 참고용 추정치입니다.