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]