자바 재귀함수를 이용하여 피보나치 수열을 구하겠습니다.
피보나치 수열은 토끼 문제로 잘 알려져 있는데,
첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열입니다.
이를 숫자로 나열하면 1, 1, 2, 3, 5, 8... 이 됩니다.
이번에는 10번째 수까지 구하겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 | public class TestObject { public static void main(String[] args) { for(int i=1; i<10; ++i) { System.out.print(fibonachi(i) +" , "); } System.out.println(fibonachi(10)); } public static int fibonachi(int n) { if(n<=2) return 1; return fibonachi(n-2) + fibonachi(n-1); } } | cs |
for(int i=1; i<10; ++i) {
System.out.print(fibonachi(i) +" , ");
}
System.out.println(fibonachi(10));
}
마지막 숫자를 제외하고 피보나치 숫자+,(콤마) 형식으로 출력하는 코드를 작성합니다.
public static int fibonachi(int n) {
if(n<=2) return 1;
return fibonachi(n-2) + fibonachi(n-1);
}
피보나치 숫자는 위에 기입한 대로 앞의 숫자와 두번째 숫자를 더한 값이 세번째 숫자이므로,
1, (0)+1=1, 1+1=2, 1+2=3 .... 의 흐름입니다.
따라서 3번째 있는 숫자는 첫번째와 두번째 숫자의 합 = (3-2)번째 숫자와 (3-1)번째의 숫자의 합입니다.
첫번째와 두번째는 1, 1이므로 고정값으로 두기 위해 if조건으로 넣고, 나머지 숫자의 조건을 작성합니다.
10번째 숫자까지 계산하는 식을 만들었지만, 손계산은 5번째까지만 하겠습니다 ㅎㅎ
fibonachi(1) 과 fibonachi(2)는 각각 1
n에 3을 넣었을 때 : fibonachi(3-2)+fibonachi(3-1) = fibonachi(1)+fibonachi(2)= 1 + 1 = 2
n=4 : fibonachi(2)+fibonachi(3)= 1 + 2= 3
n=5 : fibonachi(3) +fibonachi(4) = 2 + 3 = 5
잘 출력되었습니다.
'Study > Java' 카테고리의 다른 글
자바 입출력 (0) | 2022.04.08 |
---|---|
자바 버튼과 패널을 이용하여 계산기 모양 만들기(BorderLayout, GridLayout) (0) | 2022.03.29 |
자바 재귀함수를 이용하여 팩토리얼 구하기 (0) | 2022.03.21 |
자바 배열 및 random, System.in.read 를 이용하여 야구 게임 만들기 (0) | 2022.03.18 |
자바 Math.random() 사용하여 로또 번호를 입력 받아 맞춘 개수 출력 (0) | 2022.03.17 |