def fact(n):
if n <= 1:
return 1
return n*fact(n-1)
n 이면 그냥 1을 출력하게 된다.
1 보다 크다면 n과 n-1의 팩토리얼을 곱하게 된다.
5! 는 5 * 4!임을 이용한 것이다.
즉 5를 넣으면
5 X 4! → 5 X 4 X 3! → 5 X 4 X 3 X 2! → 5 X 4 X 3 X 2 X 1
와 같은 방법으로 계산하게 되는 것이다.
위와 같은 방식으로
def sum_n(n):
if n <= 1:
return 1
return n+sum_n(n-1)
이렇게 연속한 숫자의 덧셈 또한 가능하다.
이러한 방식으로 for 문을 사용하지 않고 재귀함수를 이용해 규칙적인 계산을 할수있다.