DP 메모이제이션으로 풀 수 있었다.
n번째 피보나치 수를 출력하면 된다.
수의 크기 n이 크지않아서 long long 배열로 충분했다.
#include <bits/stdc++.h>
using namespace std;
long long D[47];
int n;
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n;
D[1] = D[2] = 1;
for(int i = 3; i <= 45; i++){
D[i] = D[i-1] + D[i-2];
}
cout << D[n];
return 0;
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
피보나치 수 4 백준 10826번 c++ (0) | 2022.02.08 |
---|---|
피보나치 수 5 백준 10870번 c++ (0) | 2022.02.08 |
피보나치 수 3 백준 2749번 c++ (0) | 2022.02.08 |
피사노 주기 백준 9471 c++ (0) | 2022.02.08 |
1로 만들기2 백준 12852 c++ (0) | 2022.02.04 |