728x90
- 피보나치 수열은 다음과 같은 순서로 결괏값을 반환한다.
- fib(0) → 0 반환
- fib(1) → 1 반환
- fib(2) → fib(0) + fib(1) → 0 + 1 → 1 반환
- fib(3) → fib(1) + fib(2) → 1 + 1 → 2 반환
- fib(4) → fib(2) + fib(3) → 1 + 2 → 3 반환
- ...
- n이 0일 때는 0을 반환, 1일 때는 1을 반환한다. n이 2 이상일 경우에는 이전의 두 값을 더하여 반환한다.
- 재귀 호출을 사용하면 피보나치 함수를 다음과 같이 간단하게 작성할 수 있다.
def fib(n):
if n == 0 : return 0 # n이 0일 때는 0을 반환
if n == 1 : return 1 # n이 1일 때는 1을 반환
return fib(n-2) + fib(n-1) # n이 2 이상일 때는 그 이전의 두 값을 더하여 반환
for i in range(10):
print(fib(i))
- 0부터 9까지의 피보나치 수열의 결괏값을 출력하여 그 값을 확인해 보았다.
728x90
'알고리즘' 카테고리의 다른 글
리스트의 join, split 메서드 및 정렬 (0) | 2022.03.13 |
---|---|
리스트에서 특정 데이터 추출하기 (0) | 2022.03.12 |
리스트 슬라이싱(List Slicing) 예제 (0) | 2022.03.10 |
파이썬 리스트(List) 관련 함수 활용 2 (0) | 2022.03.08 |
파이썬 리스트(list) 관련 함수 활용 (0) | 2022.03.07 |