728x90
코드 힌트
재귀를 이용한 피보나치 수열 계산
- 피보나치 수열은 이전 두 항의 합으로 현재 항을 계산합니다.
- 이 문제에서는 재귀를 사용하여 피보나치 수를 계산합니다.
재귀 함수 구현하기
- 함수 pibo(int n)은 피보나치 수열의 n번째 항을 계산합니다.
- 기본 사례로 n이 0일 때와 1일 때의 값을 직접 반환합니다.
- 그 외의 경우에는 pibo(n-1)과 pibo(n-2)를 재귀적으로 호출하여 두 값의 합을 반환합니다.
정답은 더보기 클릭
더보기
import java.io.*;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
// 입력을 받기 위해 BufferedReader 사용
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 출력하기 위해 BufferedWriter 사용
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
// 사용자로부터 입력 받은 값을 정수로 변환하여 n에 저장
int n = Integer.parseInt(br.readLine());
// n번째 피보나치 수를 계산하여 출력
bw.write(pibo(n) + "\n");
// 버퍼에 있는 내용을 출력하고 스트림을 닫음
bw.flush();
bw.close();
}
// 피보나치 수를 계산하는 재귀 함수
static int pibo(int n) {
// 기본 사례: 피보나치 수열의 0번째 항은 0
if (n == 0) {
return 0;
}
// 기본 사례: 피보나치 수열의 1번째 항은 1
else if (n == 1) {
return 1;
}
// 재귀 호출을 통해 피보나치 수열의 n번째 항을 계산
return pibo(n-1) + pibo(n-2);
}
}
728x90
'백준' 카테고리의 다른 글
[백준] 스택 10828번 (0) | 2024.08.15 |
---|---|
[백준] 별 찍기 - 3 (2440번) (0) | 2024.08.15 |
[백준] ACM 호텔 (10250번) (0) | 2024.08.15 |
[백준] 팩토리얼 10872번 (0) | 2024.08.14 |
[백준] OX퀴즈 8958번 (0) | 2024.08.14 |