10872 팩토리얼
처음풀이
n = int(input())
def recursive(n):
return n * recursive(n-1)
result = recursive(n)
print(result)
RecursionError: maximum recursion depth exceeded 오류 발생
파이썬의 재귀함수 호출의 깊이에 한도가 있다.
n = int(input())
def recursive(n):
if n <= 1 : #Recursionerror maximum recursion depth exceeded 에러 발생을 막기 위해서 필요하다.
return 1 # n이 1이 되면 더 이상 재귀함수를 호출 하지 않게 한다.
else:
return n * recursive(n-1)
result = recursive(n)
print(result)
Recursionerror maximum recursion depth exceeded
파이썬에는 재귀함수 호출에 깊이의 한도가 있다.
# 재귀함수의 호출 한도를 늘려준다.
import sys
sys.setrecursionlimit(10**8)