BOJ/재귀
[C언어 / 백준 - 10870번] 피보나치 수 5 (재귀)
JWonK
2021. 5. 22. 12:13
728x90
반응형
https://www.acmicpc.net/problem/10870
10870번: 피보나치 수 5
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가
www.acmicpc.net
재귀함수를 통해 피보나치 수를 구현하는 문제이다.
#include <iostream>
#include <algorithm>
#include <deque>
#include <queue>
#include <string>
#include <vector>
using namespace std;
int N;
int fibo[20 + 1];
int Fibo(int x) {
if (x == N) {
return fibo[x-1]+fibo[x-2];
}
fibo[x] = fibo[x - 1] + fibo[x - 2];
return Fibo(x + 1);
}
int main() {
fibo[1] = fibo[2] = 1;
cin >> N;
if (N == 0) {
printf("%d", fibo[0]);
return 0;
}
else if (N == 1 || N == 2) {
printf("%d", fibo[1]);
return 0;
}
printf("%d",Fibo(3));
return 0;
}
728x90
반응형