BAEKJOON #1003 피보나치 함수
2020. 7. 9. 15:21ㆍ개발노트
이 문제의 저작권은 BAEKJOON에 있습니다.
https://www.acmicpc.net/problem/1003
문제는 위 링크에서 확인할 수 있습니다.
test_case = int(input())
zero = [1, 0, 1]
one = [0, 1, 1]
for _ in range(test_case):
num = int(input())
zreo_len = len(zero)
if zreo_len <= num:
for i in range(zreo_len,num+1):
zero.append(zero[i-1]+zero[i-2])
one.append(one[i-1]+one[i-2])
print(zero[num],one[num])
input값으로
2
3
4
를 입력했을 때
맨 처음 입력한 숫자는 구할 피보나치 수의 개수입니다.
for문을 2번 돌고 3, 4일때 피보나치 수 0과 1의 개수를 출력합니다.
num | length | i | zero[i-1] | zero[i-2] | one[i-1] | one[i-2] | zero arr | one arr | ||
3 | 3 | 3 | 1 | 0 | 1 | 1 | [1,0,1,1] | [0,1,1,2] | ||
4 | 4 | 4 | 1 | 1 | 2 | 1 | [1,0,1,1,2] | [0,1,1,2,3] |