study/python
[재귀함수]
숲로
2023. 2. 8. 15:00
재귀함수?
메소드 혹은 함수의 내부에서 자기 자신의 메소드 혹은 함수를 다시 호출하는 함수
코드의 간결화 및 변수의 최소화를 위해 사용
조건문을 활용하여 종료조건을 삽입해야 함
def recur(index, value):
if index == len(data):
result.add(value)
else:
recur(index +1, value+data[index])
recur(index+1, value)
data = [3, 5, 8]
result = set()
recur(0,0)
print(result)
* 재귀함수 활용
1) 팩토리얼
n! = n * (n-1) * ... 2 * 1
def factorial(n):
if n ==1:
reutrn 1
else:
return n * factorial(n-1)
2) 피보나치 수열
1 1 2 3 5 8 13 21
def fibonacci(n):
if n ==0 or n==1:
return 1
else:
return fibonacci(n-1) + fobonacci(n-2)
재귀함수 깊이
파이썬의 경우 기본값 1000