본문 바로가기

백준

[백준] 피보나치 수 5 (10870번)

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