알고리즘/백준
C++ 백준 BOJ 10870 피보나치 수 5
parkkingcar
2022. 7. 27. 11:10
n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하는 문제입니다.
10870번: 피보나치 수 5
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가
www.acmicpc.net
#include<iostream>
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 main() {
int a;
cin >> a;
cout << fibo(a);
return 0;
}
재귀함수로 간단하게 풀 수 있는 문제입니다.
이 피보나치 수를 구할 때 동적 계획법(다이나믹 프로그래밍)을 이용하면 더 효율적으로 문제를 해결할 수 있습니다.
아래 제 블로그 글은 다이나믹 프로그래밍에 대한 내용입니다.
[기초] 다이나믹 프로그래밍(Dynamic Programming, DP)
다이나믹 프로그래밍 큰 문제를 작은 문제로 나눠서 푸는 알고리즘으로 동적 계획법이라고도 합니다. 동적 계획법 - 위키백과, 우리 모두의 백과사전 ko.wikipedia.org 아래 두 가지 속성을 만족해야
parkkingcar.tistory.com