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
문제에 제시된 Fn = Fn-1 + Fn-2 (n ≥ 2) 을 활용해 재귀함수를 만들면 되는 문제이다.
또한 재귀를 돌다 0, 1을 만났을 때 특정 값으로 return시켜주는 코드를 추가한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int number = Integer.parseInt(br.readLine());
System.out.println(fibonacci(number));
br.close();
}
public static int fibonacci(int number) {
if (number == 0) {
return 0;
}
if (number == 1) {
return 1;
}
return fibonacci(number - 1) + fibonacci(number - 2);
}
}
'백준 > 재귀' 카테고리의 다른 글
BOJ 11729 - 하노이 탑 이동 순서 (0) | 2022.11.02 |
---|---|
BOJ 2447 -별 찍기10 (0) | 2022.11.02 |
BOJ 24060 - 알고리즘 수업 - 병합 정렬 1 (0) | 2022.11.01 |
BOJ 25501 - 재귀의 귀재 (0) | 2022.11.01 |
BOJ 10872 - 팩토리얼 (0) | 2022.11.01 |