[ALGORITHM] 재귀함수
less than 1 minute read
ALGORITHM
재귀함수
- 메소드 혹은 함수의 내부에서 자기자신의 메소드 혹은 함수를 다시 호출하는 함수
# 각 변수를 조합하여 가능한 합을 출력
data = [3, 5, 8]
def recur(index, value):
if index == len(data):
result.add(value)
else:
recur(index+1, value + data[index])
recur(index+1, value)
result = set()
recur(0,0)
print(result)
# 팩토리얼
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
print(factorial(4))
# 피보나치 수열
def fibonacci(n):
if n == 0 or n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(5))
# Python에서 재귀 함수의 최대 깊이는 1000
# 변경 방법 (2000)으로 변경
import sys
sys.setrecursionlimit(2000)
관련 알고리즘 풀이