종이와 연필을 꺼내 여러 번 호출되는 fact() 함수에 각각 어떤 값이 입력으로 들어가고 출력으로 반환되는지 직접 4!을 재귀 호출로 계산해 보세요.
fact(4)
→ 4 * fact(3)
→ 3 * fact(2)
→ 2 * fact(1)
→ 1 (n이 1이므로 종료 조건)
→ 2 * 1
→ 3 * 2 * 1
→ 4 * 3 * 2 * 1 = 24 (최종 결과)
위 함수 호출을 4! 계산 수식으로 정리하면 다음과 같습니다.
4!
= 4×3!
= 4×3×2!
= 4×3×2×1!
= 4×3×2×1 (1은 종료 조건이므로 재귀 호출을 멈춤)
= 4×3×2
= 4×6
= 24