백준 문제풀이
[백준] 피보나치 수 5 - 재귀(2) [JAVA]
늦깍이
2022. 9. 27. 14:14
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
문제

문제 풀이
- 기본 재귀함수 문제다.
- 푼 방법
1) base case 를 생각한다.
2) 피보나치의 수는 0 과 1로 시작한다. 첫 번째, 두 번째 수가 이미 정해져있으므로, base case는 fibo(0), fibo(1)이 되겠다.
3) 피보나치는 f(n) = f(n-1) + f(n-2)를 하면 되는데, 앞서 base case가 설정되어있기 때문에, 0과 1에 도달할 때까지만 실행되는 것이다. base case는 꼭 신경도록 하자.
JAVA code
import java.io.*;
public class baekjoon10870 {
static int fibo(int N) {
if (N <= 1)
return N;
else
return fibo(N - 1) + fibo(N - 2);
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int answer = fibo(N);
System.out.println(answer);
}
}