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입니다.
반복 함수보다 코드는 짧아졌지만 같은 기능을 합니다.
재귀 함수의 단점
재귀적으로 하면 오류가 생길 수 있습니다.
반복되는 게 많아지면 특정 연산이 반복된다. 숫자가 커지면 커질수록 많이 반복되며 비효율적입니다.
때에 따라 간결한 코드를 제공하지만 더 많은 시간을 소비할 수가 있습니다.
'IT > Java' 카테고리의 다른 글
[JAVA] 10 x 10 의 정수 랜덤 데이터를 구하는 프로그램 (0) | 2020.12.09 |
---|---|
[JAVA] 원하는 개수만큼의 배열 생성 및 최댓값 구하는 프로그램 (0) | 2020.12.08 |
[JAVA] 피보나치 수열 구하기. (0) | 2020.12.08 |
[JAVA] max()를 이용하여 최대값을 저장하는 프로그램 (0) | 2020.12.08 |
[JAVA] 문자열에서 마지막 단어를 반환하는 함수 (0) | 2020.12.08 |