본문 바로가기

JAVA/기초 프로그래밍

fibonnaci 피보나치 수열

fibonnaci 피보나치 수열

 

 

 

원리;


  (1번째(a), 2번째(b) 수를 합한 숫자가 다음 숫자(c)가 됨-> 증권, 선물사에서 쓰임)
 
  0  1  1  2  3  5  8  13  21  34 
  a  b  c (a+b=c) 
      a  b  c
      ~ ...
 
 
//loop 30 회정도가 지나면 에러가나서 long 으로 잡아줘야 함

 

 

w를 인덱스번호로 지정해주고 arrNum[w+2] = c;       w++;

0번째와 1번째는 밖에다가 미리  a와 b값으로 초기화 해줌

 

		long a, b, c;
		long arrNum[] = new long[30];
		
		int w = 0;
		
		a = 0;
		b = 1;
		
		arrNum[0] = a;
		arrNum[1] = b;
		
		while(w < 28) {	//30까지니까 28.
			
			c = a + b;
			arrNum[w + 2] = c;
		
			//값을 갱신해준다
			a = b;
			b = c;
			
			w++;
		}
		for (int i = 0; i < arrNum.length; i++) {
			System.out.println(arrNum[i] + " ");
		}
		System.out.println();