JAVA/Coding Test

[JAVA] 백준 10870 피보나치 수 5_ 재귀함수

오늘도개발 2023. 3. 1. 18:26

 

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

 

접근 :

 

- 피보나치 수를 재귀 함수로 구현

 

- n = 0 일 때, 결과 값은 0

 

- n = 1 일 때, 결과 값은 1

 

- n ≥ 2 일 때, Fn = Fn-1 + Fn-2 

 

 

 

 

 

 

 

코드 구현:

 

import java.io.*;

public class Main {

	public static int fibonacci(int n) {
		
		// 0 이하가 들어오면 0 반환(예외처리)
		if (n <= 0)	return 0;
		
		// n이 1되면 연산결과를 반환하기 시작함	
		else if (n == 1) return 1;
		
		// n이 1 보다 크면 재귀 호출
		return fibonacci(n - 1) + fibonacci(n - 2);
	}

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		int n = Integer.parseInt(br.readLine());

		// 결과 화면출력
		System.out.println(fibonacci(n));
		br.close();
	}
}