본문 바로가기

Algorithm/Math

(C++) - 백준(BOJ) 10870번 : 피보나치 수 5 답

반응형

문제링크 : https://www.acmicpc.net/problem/10870


재귀문제를 메모이제이션으로 풀었습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
int f(int num)
{
    static int mem[21];//메모이제이션
    if (mem[num] != 0)
    {
        return mem[num];
    }
    if (num == )
    {
        return mem[num] = 0;
    }
    if (num == 1)
    {
        return mem[num] = 1;
    }
    return mem[num] = f(num - 1+ f(num - 2);
}
int main() {
    int num;
    cin >> num;
    cout << f(num);
}
cs