반응형
문제링크 : 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 == 0 ) { 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 |
'Algorithm > Math' 카테고리의 다른 글
(C++) - 백준(BOJ)코딩 10818번 : 최소, 최대 (0) | 2017.03.06 |
---|---|
(C++) - 백준(BOJ) 11653번 : 소인수분해 (0) | 2016.12.08 |
(C++) - 백준(BOJ)코딩 2501번 : 약수 구하기 답 (0) | 2016.11.22 |
(C++) - 백준(BOJ) 1735번 : 분수 합 (0) | 2016.11.02 |
(C) - 백준(BOJ)코딩 1085번 : 직사각형에서 탈출 답 (0) | 2016.10.15 |