반응형
문제
재귀 함수를 사용하여 팩토리얼과 피보나치 수를 계산한다.
재귀의 기본 개념인 base case 와 recursive case 를 이해한다.
문제풀이
1. 팩토리얼 출력
팩토리얼 출력: 120 (5! = 5 × 4 × 3 × 2 × 1)
def factorial(n):
if n < 2 :
return 1
return n * factorial(n-1)
Recursive Case : 재귀가 너무 커서 바로 답을 구할 수 없을 때, 입력을 작게 만들어 자기 자신을 호출한다. n * (n-1)! 처럼 n 을 줄여가며 함수를 다시 부르는 것이다.
수학적으로 팩토리얼에 음수 가 들어갈 수 있는가? → 안됨
2. 피보나치 수열
피보나치 출력: 5 (0, 1, 1, 2, 3, 5)
def fibonacci(n):
if n == 0:
return 0
if n == 1:
return 1
return fibonacci(n - 1) + fibonacci(n - 2)
Base case : 재귀 함수의 기저 조건. 함수가 더이상 자신을 호출하지 않고 끝나는 종료 지점이다.
어려웠던 점
- 피보나치 수열에 대한 개념이 아직 완전히 들어오지 않아, 계속 반복 학습하고 있다.
반응형