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);
}
}
'백준 문제풀이' 카테고리의 다른 글
[백준] 11729번 하노이 탑 이동순서 - 재귀(4) [JAVA] (1) | 2022.09.29 |
---|---|
[백준] 2447번 별 찍기 10 - 재귀(3), 분할정복(1) [JAVA] (0) | 2022.09.28 |
[백준] 10872번 팩토리얼 - 재귀(1) [JAVA] (0) | 2022.09.27 |
[백준] 2164번 카드2 [JAVA] (0) | 2022.09.14 |
[백준] 1158번 요세푸스 문제 [JAVA] (0) | 2022.09.14 |