재귀 함수는 함수가 자기 자신을 호출하는 것을 의미합니다. 이는 함수가 자신의 문제를 해결하고 더 이상 해결 할 수 없을 때까지 자신을 호출하면서 문제를 해결하는 방식입니다.
def factorial(n):
if n <= 1:
return 1
else:
return n * factorial(n-1)
위 코드는 팩토리얼을 구하는 재귀 함수입니다.
팩토리얼은 자신보다 작은 숫자들의 곱입니다.
0! = 1이며, 양의 정수 n에 대해서 n! = n * (n-1)!입니다.
위 코드에서는 n이 1 이하일 때 1을 반환하고, 그 외의 경우에는 n과 factorial(n-1)을 곱해서 반환합니다.
factorial(5)를 실행하면 다음과 같은 순서로 함수가 실행됩니다.