0! 은 왜 0 이 아니라 1 일까? 본래 0!:=1 은 정의기 때문에 증명할 필요가 없고, 왜 그런 정의가 타당한지를 알아가는 과정은 ‘어떠한 이유로 이러한 정의를 내렸으니 납득해달라는 요청’에 가깝다. 수준에 맞게 단계별로 이해해보자.
중학생 수준
자연수 n 에 대해 n! 은 다음과 같이 정의할 수 있다.
n!:=n×(n−1)×⋯×2×1
쉽게 말해 팩토리얼은 n 부터 1씩 빼가면서 곱한 수로써 그다지 어렵지도 않고 왜 이런 게 필요한지도 곧바로 알게 된다. (교과과정보다 조금 앞서나간다면) 중학교부터 순열과 조합로 팩토리얼을 접할 수 있으며, 순열 nPr 과 이항계수nCr 에서 바로 등장한다.
nPrnCr:=:=n(n−1)⋯(r+1)rr!nPr==(n−r)!n!r!(n−r)!n!
여기서 r=n 이라 둔다는 것은 n 개의 아이템 중 n 개 전부를 뽑아서 순열과 조합을 계산한다는 것이데, nPn=n!/0! 은 n 개의 아이템을 순서를 가지고 나열하는 경우의 수 n! 과 같으며 nCn=n!/n!0! 역시 n 개의 아이템을 모두 뽑는 경우의 수 1 과 같아야한다. 이 때 x=0! 은 형식적으로는 다음의 방정식을 만족하는 수여야한다.
⎩⎨⎧xn!n!xn!=n!=1
딱히 연립방정식일 이유는 없지만, 어쨌든 두 방정식을 동시에 만족시키는 해는 x=1 이다. 이는 nPr 과 nCr 이 팩토리얼로 정의된 꼴이 타당하다고 받아들인 상태에서, 0! 을 1 로 정의했을 때 수식적으로 깔끔하고 편리함을 보인 것이다. 넓고 깊은 수학의 세계에서 팩토리얼이 어떤 의미인지 모를지라도, 당장 실용적인 정의임은 분명해 보인다.
고등학생 정도면 지수함수를 배우면서 a 의 거듭제곱이 어떻게 음수에 대해 확장되는지를 알게 된다. 먼저 자연수에 대한 2 의 거듭제곱은 다음과 같이 상식적으로 전개된다.
22=23=24=25=⋮481632
보다시피 2x 는 한 줄 한 줄 내려올 때 x 가 1씩 증가하며 2배로 증가하고 있다. 이건 아무리 수학에 약해도 상식적으로 바로 이해할 수 있는 거듭제곱의 개념이다. 한편 이를 정수 전체에 대해 일반화하는 과정은 책을 보고 그 패턴을 봐야 이해하기 쉽다.
22=21=20=2−1=⋮4210.5
역시 2x 는 한 줄 한 줄 내려올 때 x 가 1씩 감소하며 2씩 나뉘고 있다. 이는 20,2−1 이라는 표현이 올바른지, 그런 게 가능한지를 떠나 형식적으로 말이 되는 패턴을 보여주고 있다. 2x 의 예시에서 배울 수 있는 건, 2x 이라는 표현이 x 가 증가할 땐 2배로 늘고 x 가 감소할 땐 절반이 된다는 걸 기가 막히게 잘 나타낸다는 것이다.
이제 팩토리얼로 돌아와보자. n! 은 다음과 같이 (n−1)! 에 n 을 곱하는 방식으로 전개된다.
1!=2!=3!=4!=⋮11!×22!×33!×4
지수함수의 예시에서 그랬던 것처럼, 이걸 ‘말이 되는 방식으로’ 뒤집어보자. n! 는 n 이 커지면서 곱해졌으니 이제는 n 이 작아지면서 나뉘면 된다.
⋮4!=3!=2!=1!=0!=5!÷54!÷43!÷32!÷21!÷11!=∏k=111 이니 이걸 1 로 나눈 1!÷1=0! 은 1 이 되는 게 ‘상식적’이다. 주목할만한 점은 이러한 설득이 0!=1 이 어떻게 유용한지에 대해 전혀 알려주지 않는다는 것이다. 단지 수학적인 직관으로 이게 말이 되기 때문에, 그 아름다움만으로 이 정의를 밀어붙이고 있다.
대학생 수준
대학생이 되면 미적분학에서 적분범위가 바운드 되지 않은 이상적분을 배우고, 각종 전공책에서 감마함수라는 걸 배우게 된다.
팩토리얼이 감마함수의 특수한 케이스가 되려면 0!=1 이어야 한다. 감마함수는
Γ(x)=∫0∞tx−1e−tdt
와 같이 정의되는데, x=1 을 대입하면
Γ(1)====∫0∞t1−1e−tdt∫0∞e−tdt[−e−t]0∞−0−(−1)=1
이고 0!=Γ(1) 이므로 n! 을 0에 대해 확장하려면 0!=1 이라 정의하는 게 타당하다.