728x90
https://www.acmicpc.net/problem/10870
나의 풀이
피보나치 수는 0과 1로 시작하고 아래의 수식을 따른다.
$$ F_{n} = F_{n-1} + F_{n-2} $$
n = 17일 때, 피보나치 수는 1597이다.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597
import sys
num = int(sys.stdin.readline())
def fibo(num):
if num == 0:
return 0
if num == 1:
return 1
return fibo(num-2)+fibo(num-1)
print(fibo(num))
재귀용법을 쓰지 않고 구현
import sys
num = int(sys.stdin.readline())
num1 = 0
num2 = 1
if num == 0:
print(num1)
elif num == 1:
print(num2)
else:
for i in range(num-1):
num2, num1 = num1 + num2, num2
print(num2)
728x90
'Coding Test > Baekjoon' 카테고리의 다른 글
[Python] 파이썬 백준(15649) N과 M(1) (0) | 2023.04.10 |
---|---|
[Python] 파이썬 백준(25501) 재귀의 귀재 (0) | 2023.04.09 |
[Python] 파이썬 백준(27433) 팩토리얼2 (0) | 2023.04.09 |
[Python] 파이썬 백준(18258) 큐2 (0) | 2023.04.07 |
[Python] 파이썬 백준(1874) 스택 수열 (0) | 2023.04.06 |