반응형
문제
풀이
다이내믹 프로그래밍(DP)를 이용해 문제를 해결했다.
n이 조건의 최댓값인 45인 경우, 피보나치 수는 11,3490,3170이다.
int 형의 범위는 -2,147,483,648 ~ 2,147,483,647이므로, 피보나치 수의 최댓값이 범위 내에 있기 때문에, DP를 int로 선언했다.
코드
#include <iostream>
using namespace std;
int main() {
int n;
int DP[45];
cin >> n;
DP[0] = 0;
DP[1] = 1;
for (int i = 2; i <= n; i++) {
DP[i] = DP[i - 1] + DP[i - 2];
}
cout << DP[n] << endl;
}
결과
반응형
'Programming > C++ - 백준' 카테고리의 다른 글
[백준] 2839번 : 설탕 배달- Greedy Algorithm (C++) (3) | 2023.05.25 |
---|---|
[백준] 2748번 : 피보나치 수 2 | int & long long 범위 (C++) (0) | 2023.05.24 |
[백준] 2775번 : 부녀회장이 될테야 - (C++) (2) | 2023.05.24 |
[백준] 1546번 : 평균 - (C++) (2) | 2023.05.16 |
[백준] 11654번 : 아스키 코드 - (C++) (0) | 2023.04.20 |
댓글