숫자 n이 있다고 가정하면 n번째 피보나치 항을 찾아야 합니다. i번째 피보나치 항 f(i) =f(i-1) + f(i-2)를 알고 있듯이 처음 두 항은 0, 1입니다.
따라서 입력이 15와 같으면 출력은 610이 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 첫 번째 :=0, 두 번째 :=1
- 2~n 범위의 i에 대해 다음을 수행합니다.
- temp :=첫 번째 + 두 번째
- 첫 번째 :=두 번째
- 초 :=온도
- 두 번째 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
class Solution: def solve(self, n): first = 0 second = 1 for _ in range(2, n+1): temp = first + second first = second second = temp return second ob = Solution() print(ob.solve(15))
입력
15
출력
610