본문 바로가기

Algorithm/BOJ (백준)

[C] 백준 2748 피보나치 수 2

2748 피보나치 수 2

 

2748번: 피보나치 수 2

문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)��

www.acmicpc.net

C

#include <stdio.h>
int main(){
    int n;
    scanf("%d", &n);
    long long arr[91] = {0, 1};

    for (int i = 2; i <= n; i++)
        arr[i] = arr[i - 1] + arr[i - 2];

    printf("%lld", arr[n]);

    return 0;
}

 

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다.

0번째 피보나치 수 0, 1번째 피보나치 수가 1임을 미리 저장한 상태에서 반복문 DP를 사용한다.