반응형
2748번: 피보나치 수 2
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가
www.acmicpc.net
def iter(n, cache):
if n < 2:
cache[n] = n
return cache[n]
if cache[n] != -1:
return cache[n]
cache[n] = iter(n-1, cache) + iter(n-2, cache)
return cache[n]
def fibonacci(n):
cache = [-1 for _ in range(n+1)]
return iter(n, cache)
if __name__ == '__main__':
n = int(input())
print(fibonacci(n))
반응형