zero = [1, 0, 1]
one = [0, 1, 1]
def fibonacci(num):
length = len(one)
if num >= length:
for i in range(length, num + 1):
zero.append(zero[i - 2] + zero[i - 1])
one.append(one[i - 2] + one[i - 1])
print('{} {}'.format(zero[num], one[num]))
t = int(input())
for _ in range(t):
fibonacci(int(input()))
n | 0 | 1 | 2 | 3 | 4 | 5 |
zero | 1 | 0 | 1 | 1 | 2 | 3 |
one | 0 | 1 | 1 | 2 | 3 | 5 |
n = 3, n 이 1, 2일때의 합과 같다
n = 4, 5 ... 계속 동일
zero, one 각각의 배열에 계속 추가하면 된다
'알고리즘' 카테고리의 다른 글
[백준] 9375번 (python 파이썬) (0) | 2022.07.03 |
---|---|
[백준] 17219번 (python 파이썬) (0) | 2022.07.03 |
[백준] 1436번(python 파이썬) (0) | 2022.06.26 |
<백준> 1018번 자바 알고리즘 (0) | 2022.06.19 |
<백준> 7568번 파이썬 알고리즘 (0) | 2022.06.01 |