[자바/JAVA] for문으로 피보나치 수열 출력

피보나치(Fibonnaci) 수열은 앞 두 수를 더해서 다음 수를 만들어 나가는 수열이다.

ex) 1,1,2,3,5,8,13,21,...

값이 만들어지는 패턴을 이렇다.

1 + 1 = 2

1 + 2 = 3

2 + 3 = 5

(...)

num1 + num2 = num3

num2 + num3 = num4

num3 + num4 = num5

(...)

일정하게 반복되고 있기 때문에 자바의 반복문 for를 이용하면 원하는 구간만큼 값을 출력할 수 있다.

제한된 변수에서 연산을 반복하기 위해서는 수학적인 추론이 필요하다.

num1, num2, num3 세 개의 제한된 변수로 반복적으로 뒤의 숫자를 출력해야 한다. 

 

아래는 피보나치 수열의 10번째 값까지 출력한 코드다.

int num1 = 1; 
int num2 = 1; // 1, 2 번째 값은 정해져 있는 값인 1, 1로 초기화
int num3 = 0; // 세번째 값은 0으로 초기화 후 아래서 연산을 수행
System.out.print(num1 + "," + num2); // 첫번째, 두번째 값 출력

for (int i = 0; i < 8; i++) {
	num3=num1+num2;
	System.out.print(","+num3);
    
	num1=num2;
	num2=num3;
				}

 

결과값

1,1,2,3,5,8,13,21,34,55

 

반응형

댓글

Designed by JB FACTORY