본문 바로가기
Java/백준

[JAVA] 백준 10870 (피보나치 수열)

by 2D3 2022. 10. 21.
728x90
/* 백준 10870번 (피보나치 5번)
문제: Fn = Fn-1 + Fn-2 (n ≥ 2)  n번째 피보나치 수를 구하는 프로그램
입력: 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0
출력: 첫째 줄에 n번째 피보나치 수를 출력
 */

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class B10870 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   //InputStreamReader: 1byte씩 읽음

        int num = Integer.parseInt(br.readLine());  //한 줄씩 읽어 옴

        System.out.println(fibonacci(num));
    }
    public static int fibonacci(int num){
        if (num == 0) return 0;
        if (num == 1) return 1;

        return fibonacci(num -1) + fibonacci(num -2);
    }
}

/*
1. if문 -> 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1 (break)
2. return (n-2) + 함수(n-1)
3. n번째 피보나치를 불러올 방법: n+1번째 배열을 불러오기
 */

 

와일드카드(\*)사용\ :

예시) import java.util.\*; 동일한 패키지의 모든 클래스를 불러오고 싶다면 와일드카드(*)문자를 사용

 

⭐ 콘솔 입력

InputStream byte InputStream in = System.in; read()

InputStreamReader char InputStreamReader reader = new InputStreamReader(in); read()

BufferedReader String BufferedReader br = new BufferedReader(reader); readLine()

728x90

'Java > 백준' 카테고리의 다른 글

[JAVA] 백준2438 (별찍기-1)  (0) 2022.10.21
[JAVA] 백준 11729번 (하노이의 탑)  (0) 2022.10.21
[JAVA] 10872번 (재귀)  (0) 2022.10.21
[JAVA] 백준2562번 (배열)  (0) 2022.10.21
[JAVA] 백준 10818번 (배열)  (0) 2022.10.21

댓글