자연수 에 대해서 부터 1까지의 모든 자연수를 차례로 곱한 값을 의미한다. 팩토리얼은 수학에서 조합론, 확률론 등에서 널리 사용되며, 기호로는 으로 표기한다.
5 팩토리얼
팩토리얼은 자연수에 대해서만 정의되며, 음수나 소수에 대해서는 정의되지 않는다. 또한, 팩토리얼 값이 매우 커질 경우, 컴퓨터의 정수 자료형(int 혹은 long long)으로도 표현할 수 없게 된다.
팩토리얼은 다음과 같은 특징을 가지고 있다.
(단, )
이를 이용하면, 재귀적으로 팩토리얼을 계산할 수 있다.
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
하지만 이 방법은 큰 값의 팩토리얼을 계산할 때, 중복 계산이 발생하게 되어 비효율적이다. 따라서, 반복문을 이용하여 팩토리얼을 계산하는 방법이 더욱 효율적이다.
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result