문제접근
•
n이 크지 않기 때문에 재귀만으로 풀 수 있으나 메모이제이션 이용
놓쳤던 부분
코드
2020 KB
0 ms
#include <iostream>
using namespace std;
int dp[21];
int fibo(int n)
{
if (n == 0)
return (0);
else if (n == 1 || n == 2)
return (1);
else if (dp[n] != 0)
return dp[n];
dp[n] = fibo(n - 1) + fibo(n - 2);
return (dp[n]);
}
int main(void)
{
int n;
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n;
cout << fibo(n);
}
C++
복사