본문 바로가기
프로그래밍/acmcpc

[2748] 피보나치 2

by blopz 2025. 8. 5.

https://www.acmicpc.net/problem/2748

import sys

n = int(sys.stdin.readline().strip())
fibos = [0 for _ in range(n+1)]

def fibo(n):
    if n==0:
        return 0
    if n==1:
        return 1
    return fibos[n-2] + fibos[n-1]

for nn in range(n+1):
    fibos[nn] = fibo(nn)

print(fibos[-1])

 

피보나치 수 n은 피보나치 수 n-2와 피보나치 수 n-1의 수의 합으로 이루어져있다

 

피보나치 수 0부터 n까지 계산하면 메모이제이션을 통해 중복계산을 피할 수 있다

 

점화식

 

fibo[n] = fibo[n-2] + fibo[n-1]

'프로그래밍 > acmcpc' 카테고리의 다른 글

[1158] 요세푸스 문제  (2) 2025.08.11
[10845] 큐  (2) 2025.08.11
[2579] 계단 오르기  (6) 2025.08.05
[14501] 퇴사  (4) 2025.07.31
[13458] 시험 감독  (1) 2025.07.31