Baekjoon - 재귀

do yeon kim·2022년 7월 7일
0

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)

0개의 댓글