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
반응형
'BOJ > 재귀' 카테고리의 다른 글
[C언어 / 백준 - 1941번] 소문난 칠공주 (백트래킹 -> DFS/BFS) (0) | 2021.05.28 |
---|---|
[C언어 / 백준 - 1759번] 암호 만들기 (백트래킹) (0) | 2021.05.27 |
[C언어 / 백준 - 14889번] 스타트와 링크 (백트래킹) (0) | 2021.05.25 |
[C언어 / 백준 - 1914번] 하노이 탑 (재귀) (0) | 2021.05.12 |
[C언어 / 백준 - 6603번] 로또 (재귀함수 - 조합) (0) | 2021.05.10 |