재귀를 공부할 때에 가장 먼저 배우고 예시로 드는 기초적인 문제입니다.

함수 안에서 함수 자기 자신을 호출하는 방식을 재귀호출(recursive call)이라고 합니다.
Python에서 최대 재귀 깊이가 1000으로 정해져있으며 이를 초과하면 RecursionError가 발생합니다.

재귀를 공부할 때에 가장 기초적인 예시가 되는 것이 바로 본 문제입니다.
factorial 함수를 만들때 매개변수 n을 지정해주고,
n부터 역순으로 1씩 감소하며 재귀호출을 통해 곱해가는 방법을 사용했습니다.
계산 결과가 즉시 주어지는 것이 아니라 재귀호출로 n-1을 계속 전달하다가 반환값이 비로소 1이 되었을 때
n과 반환된 결과값을 곱하여 다시 반환해가는 과정을 거칩니다.

문제 : 백준 10872 - 팩토리얼