피보나치2 C++ 백준 BOJ 10870 피보나치 수 5 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하는 문제입니다. 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net #include using namespace std; int fibo(int num) { int result = num; if (result == 0) { return 0; } else if (result == 1) { return 1; } else { return fibo(result - 1) + fibo(result - 2); } } int .. 2022. 7. 27. [기초] 다이나믹 프로그래밍(Dynamic Programming, DP) 다이나믹 프로그래밍 큰 문제를 작은 문제로 나눠서 푸는 알고리즘으로 동적 계획법이라고도 합니다. 동적 계획법 - 위키백과, 우리 모두의 백과사전 ko.wikipedia.org 아래 두 가지 속성을 만족해야 다이나믹 프로그래밍으로 문제를 풀 수 있습니다. 1. Overlapping Subproblem : 겹치는 부분 문제 2. Optimal Substructure : 문제의 정답을 작은 문제의 정답에서 구할 수 있을 때 Overlapping Subproblem 겹치는 작은 부분 문제로 나눠서 푸는 것이 핵심입니다. 문제 작은 문제 - 작은 문제 (두 작은 문제가 겹쳐야 됨) 먼저 피보나치 수를 예시로 들어 알아보면, - 피보나치 수 - F(0) = 0 F(1) = 1 F(n) = F(n-1) + F(n-2.. 2022. 7. 27. 이전 1 다음