IT/Java

[JAVA] 재귀함수로 피보나치 만들기

eternitys 2020. 12. 8. 14:35
	public static int fibonacci(int number) {
		if (number == 1) {
			return 1;
		} else if (number == 2) {
			return 1;
		} else {
			return fibonacci(number - 1) + fibonacci(number - 2);
		}
	}

	public static void main(String[] args) {
		System.out.println("피보나치 수열의 10번째 원소는" + fibonacci(10) + "입니다.");
	}

결과는 

피보나치수열의 10번째 원소는 55입니다.

 

반복 함수보다 코드는 짧아졌지만 같은 기능을 합니다.

 

재귀 함수의 단점

 

재귀적으로 하면 오류가 생길 수 있습니다.

 

반복되는 게 많아지면 특정 연산이 반복된다. 숫자가 커지면 커질수록 많이 반복되며 비효율적입니다.

 

때에 따라 간결한 코드를 제공하지만 더 많은 시간을 소비할 수가 있습니다.