tooldeb 온라인 도구
카테고리
금융 · 투자 이자, 저축, 수익률, 물가. 대출 · 부동산 주담대, 상환, DSR·DTI·LTV, 전월세. 세금 · 노무 실수령액, 퇴직금, 4대보험, 세금. 쇼핑 · 가격 할인, 팁, 단가 비교, 마진. 건강 · 피트니스 체성분, 영양, 운동 계산기. 수학 백분율, 분수, 대수, 수열. 기하 평면·입체 도형의 넓이, 부피, 겉넓이. 통계 · 확률 평균, 산포, 경우의 수, 확률. 단위 변환 길이, 무게, 온도, 압력 등. IT · 디지털 데이터 용량, 화면, 색상, 네트워크 속도. 공학 · 전자 회로, 저항, PCB, 신호 설계. 날짜 · 시간 나이, D-day, 날짜 계산, 시간대. 집 · 인테리어 페인트, 타일, 벽지, 장판, 콘크리트. 자동차 연료비, 연비, 타이어, 자동차세. 생활 요금, 배송, 사진, 소소한 계산.
KO
한국어 English

팩토리얼(계승) 계산기

n! — 1부터 n까지 모든 자연수의 곱 — 을 0부터 170까지의 n에 대해 계산합니다. 계산 과정, 커지는 속도, 순열·조합·스털링 근사와의 관계까지 함께 보여줍니다.

입력
n!
120
5! = 5 × 4 × 3 × 2 × 1
170!을 넘으면 배정밀도 수 범위를 벗어나 '너무 큼'으로 표시됩니다. 18!까지는 정수로 정확히 표시되고, 19!부터는 유효숫자 6자리로 반올림한 근삿값입니다. 아래 설명은 이 계산기의 실제 계산 방식(자바스크립트 배정밀도 실수)을 근거로 작성했습니다. (기준일: 2026-08-19)

팩토리얼(계승)의 원리

n의 팩토리얼 n!은 1부터 n까지 모든 자연수의 곱입니다. 서로 다른 n개를 순서대로 한 줄로 세우는 경우의 수를 뜻하며, 통계학에서는 순열·조합·확률을 계산하는 가장 기본적인 재료로 쓰입니다. n이 커질수록 값이 얼마나 빠르게 폭발적으로 늘어나는지, 그리고 왜 0!이 1이 되는지는 언뜻 직관과 어긋나 보이지만 아래에서 순서대로 근거를 따라가면 자연스럽게 이해됩니다.

n! = n × (n−1) × (n−2) × … × 2 × 1 0! = 1 (공곱)
  • n — 0부터 170까지의 자연수
  • n! — 팩토리얼 — 1부터 n까지의 곱

자세한 설명

왜 0! = 1인가

0!은 0이 아니라 1로 정의합니다. 여기엔 두 가지 근거가 있습니다. 첫째, 점화식 n! = n × (n−1)!에 n = 1을 대입하면 1! = 1 × 0!이 되는데, 1! = 1이므로 앞뒤가 맞으려면 0! = 1이어야 합니다. 이 점화식을 거꾸로 따라가면 3! = 3 × 2! = 6, 2! = 2 × 1! = 2, 1! = 1 × 0! = 1로, 결국 0!이 1이어야 사슬 전체가 어긋나지 않습니다. 둘째, 조합론적으로 보면 팩토리얼은 서로 다른 물건을 순서대로 나열하는 경우의 수인데, 아무것도 없는 것(공집합)을 나열하는 방법은 '아무것도 하지 않는다'라는 단 한 가지뿐입니다. 그래서 0!은 1입니다. 이 약속 덕분에 이항계수 n! / (k!(n−k)!)이나 조합 nCr 공식이 k = 0이나 k = n일 때도 예외 없이 성립하고, 만약 0! = 0으로 정의했다면 이런 공식 전체가 0으로 무너져 아무 의미도 갖지 못했을 것입니다.

10!의 계산 과정

팩토리얼은 곱셈을 한 단계씩 누적하는 방식으로 계산합니다. 10!을 예로 들면 1 × 2 = 2, 2 × 3 = 6, 6 × 4 = 24, 24 × 5 = 120, 120 × 6 = 720, 720 × 7 = 5,040, 5,040 × 8 = 40,320, 40,320 × 9 = 362,880, 362,880 × 10 = 3,628,800으로 이어집니다. 이렇게 아홉 번의 곱셈을 거쳐 10! = 3,628,800이 나옵니다. 이 계산기도 같은 방식으로 n부터 1까지 차례로 곱해 결과를 구하고, 12 이하의 n에서는 그 전개식을 화면에 함께 보여줍니다.

얼마나 빨리 커지는가

팩토리얼은 매우 빠르게 커집니다. 5! = 120에서 10! = 3,628,800으로 3만 배 뛰고, 13! = 6,227,020,800으로 이미 10억을 넘으며, 15! = 1,307,674,368,000으로 1조를 넘어섭니다. 20! = 2,432,902,008,176,640,000에서는 약 2.43 × 10¹⁸에 달해, 64비트 부호 있는 정수가 표현할 수 있는 최댓값(약 9.22 × 10¹⁸)과 자릿수가 같아집니다. 21! = 51,090,942,171,709,440,000(약 5.11 × 10¹⁹)은 이 한계를 실제로 넘어섭니다. 이 계산기는 별도의 큰수(BigInt) 연산 없이 자바스크립트의 표준 배정밀도 실수(Number)를 그대로 사용합니다. 배정밀도 실수는 2⁵³−1(약 9,007,199,254,740,991)까지의 정수만 오차 없이 표현할 수 있어서, 18!(6,402,373,705,728,000)까지는 정확한 정수로 나오지만 19!(121,645,100,408,832,000)부터는 유효숫자 6자리로 반올림한 근삿값이 됩니다. 170!(약 7.3 × 10³⁰⁶)을 넘으면 배정밀도 실수의 표현 범위 자체를 벗어나 무한대로 처리되므로, 이 계산기는 170을 넘는 입력에 대해서는 결과 대신 값이 너무 크다는 안내를 표시합니다. 참고로 이 사이트의 순열·조합 계산기는 정확한 큰 정수가 필요해 내부적으로 BigInt를 쓰지만, 이 계산기는 결과를 6자리 유효숫자로만 보여주면 충분해 굳이 BigInt를 쓰지 않습니다.

순열·조합과의 관계

순열과 조합은 모두 팩토리얼로 정의됩니다. n개 중 r개를 순서를 구분해 뽑는 순열은 nPr = n! / (n−r)!이고, 순서를 구분하지 않는 조합은 nCr = n! / (r!(n−r)!)입니다. nPr 공식은 첫 자리에 n가지, 둘째 자리에 n−1가지, … 이런 식으로 r번 곱한 n × (n−1) × … × (n−r+1)을 n!/(n−r)!로 간단히 쓴 것이고, nCr은 그 순열에서 뽑은 r개끼리의 순서(r!가지)를 다시 나눠 순서를 지운 값입니다. 예를 들어 로또 6/45에서 45개 번호 중 6개를 고르는 경우의 수는 45C6 = 45! / (6! × 39!) = 8,145,060가지입니다. 이렇듯 순열·조합 계산의 바탕에는 항상 n!이 있습니다. 순열·조합 자체의 다양한 조합 계산은 별도의 순열·조합 계산기에서 더 자세히 다루고, 이 페이지에서는 그 바탕이 되는 n! 값 자체와 그 성질에 집중합니다.

큰 n은 스털링 근사로 어림잡는다

n이 아주 커지면 정확한 값보다 크기의 자릿수만 빠르게 가늠하고 싶을 때가 많습니다. 이때 쓰는 것이 스털링 근사(Stirling's approximation)로, n! ≈ √(2πn) × (n/e)ⁿ입니다. 예를 들어 n = 10을 대입하면 √(2π×10) × (10/e)¹⁰ ≈ 3,598,696으로, 실제값 3,628,800과 차이가 약 30,104(상대 오차 약 0.83%)에 불과합니다. n이 커질수록 이 상대 오차는 더 작아져서, 통계학·물리학에서 큰 n의 조합·확률을 다룰 때 실제 값 대신 이 근사식을 널리 씁니다. 이 계산기가 다루는 170 이하의 범위에서도, 정확한 정수 대신 자릿수만 대략 알고 싶다면 이 근사식으로 암산에 가깝게 어림잡을 수 있습니다. 출처: 스털링의 근사 공식(James Stirling, 1730).

정수가 아닌 팩토리얼: 감마 함수

팩토리얼의 정의를 정수가 아닌 수로까지 확장한 것이 감마 함수(Gamma function)입니다. 감마 함수는 적분 Γ(x) = ∫₀^∞ t^(x−1) e^(−t) dt로 정의되고, 양의 정수에서는 Γ(n+1) = n!이 성립해 팩토리얼과 정확히 일치합니다. 이 관계 덕분에 0.5!처럼 정수가 아닌 값도 수학적으로 정의할 수 있습니다(정확히는 Γ(1.5) = √π / 2 ≈ 0.8862). 감마 함수는 통계학에서 정규분포·감마분포·카이제곱분포 같은 확률분포의 정규화 상수를 만드는 데 쓰이고, 물리학·공학의 여러 적분 계산에도 등장합니다. 다만 이 계산기는 0 이상의 정수 n만 입력받습니다. 소수나 음수를 넣으면 결과가 나오지 않는데, 이는 계산기가 감마 함수를 지원하지 않고 정수 팩토리얼만 다루도록 만들어졌기 때문입니다.

증가 속도. 팩토리얼은 폭발적으로 커집니다: 10!이 벌써 360만, 13!이 10억을 넘고, 170!은 약 7.3 × 10³⁰⁶ — 컴퓨터 배정밀도 실수가 담을 수 있는 최댓값에 근접합니다. 그래서 이 도구는 170에서 멈춥니다. 자릿수 감각을 잡고 싶다면 20!이 이미 64비트 정수의 한계 근처(약 2.43 × 10¹⁸)라는 점을 기준으로 삼아 보세요.

자주 묻는 질문

5 팩토리얼(5!)은 얼마인가요?

5! = 5 × 4 × 3 × 2 × 1 = 120입니다. 위에 5를 입력하면 전개식과 결과를 볼 수 있습니다.

0 팩토리얼(0!)은 얼마인가요?

0! = 1로 정의합니다. 점화식 1! = 1 × 0!에서 역산해도, 빈 집합을 나열하는 방법이 정확히 한 가지(공곱)라는 조합론적 설명으로도 같은 결론이 나옵니다. 0이 아닙니다. 만약 0!을 0으로 정의하면 이항계수나 조합 공식이 k = 0인 경우마다 0으로 무너지므로, 1로 정의해야 수학 전체가 일관됩니다.

10 팩토리얼은 얼마인가요?

10! = 3,628,800으로, 1부터 10까지 모든 자연수의 곱입니다. 예를 들어 서로 다른 사람 10명을 한 줄로 세우는 방법의 수가 정확히 이만큼입니다. 위에 10을 입력해 1×2=2부터 9번의 곱셈이 이어지는 계산 과정을 확인해 보세요.

18!까지만 정확하고 그 이후는 왜 근삿값인가요?

이 계산기는 자바스크립트의 배정밀도 실수(Number)를 사용하는데, 이 방식은 2⁵³−1(약 9,007,199,254,740,991)까지의 정수만 오차 없이 표현합니다. 18! = 6,402,373,705,728,000은 이 범위 안에 들어가 정확한 정수로 나오지만, 19! = 121,645,100,408,832,000부터는 이 범위를 넘어서 유효숫자 6자리로 반올림한 근삿값을 보여줍니다.

왜 170보다 큰 팩토리얼은 계산할 수 없나요?

171!은 약 1.8 × 10³⁰⁸(배정밀도 실수가 표현할 수 있는 최댓값)보다 커서 무한대로 넘칩니다. 그래서 이 계산기는 170을 넘는 입력에 대해서는 결과 대신 값이 너무 크다는 안내를 표시합니다. 정확한 값이 아니라 자릿수만 필요하다면, 위 스털링 근사식으로 170! 근처의 크기를 손으로도 어림잡을 수 있습니다.

관련 계산기

통계 계산기 전체 보기