어떠한 이벤트에서 자기 자심을 포함하고 다시 자기자신을 사용하는 경우
0! = 1
n>0 이면 n! = n * (n-1)!
꼬리 재귀 제거
def recur(n: int) -> int:
while n> 0:
recur(n-1)
print(n)
n = n-2
재귀 제거
from stack import Stack
def recur(n:int) -> int:
s = Stack(n)
while True:
if n>0 :
s.push(n) # n값을 push
n = n-1
continue
if not s.is_empty(): # stack이 비어있지 않으면
n = s.pop() # 저장한 값을 n에 팝
print(n)
n = n-2
continue
break
x = int(input('정숫값을 입력하세요.'))
recur(x)