본문 바로가기

2023.11.21-2024.05.31

1207JAVA - Array04 피보나치

 

이건 모르겠다. 봐도 모르겠다 모르겠다!!!!!!!!! 아아아아악ㄱ!!!!!!!

 package dec07;

 

 import java.util.Arrays;

 

 public class Array04 {

 

  public static void main(String[] args) {

  int numbers[] = new int[10];

  numbers[0] = 1;

  numbers[1] = 2;

 

  // 앞숫자 더하기 뒷숫자 다음 칸에 저장 = 피보나치

  // [1,2,3,5,8,13,21,34,55,89]

 

  //내가 보고 베낀것

  for (int i = 2; i < numbers.length; i++) {

// 배열의 세 번째부터 열 번째까지의 요소에 대해 반복하는 for 루프를 시작합니다.

  numbers[i] = numbers[i-2]+numbers[i-1];

 // 현재 인덱스의 값은 그 직전 두 인덱스의 값의 합입니다. 이것이 피보나치 수열의 핵심입니다.

 

  }

  System.out.println(Arrays.toString(numbers));

 

 

 

 //선생님

 

  for (int i = 0; i < numbers.length-2; i++) {

  numbers[i+2] = numbers[i]+numbers[i+1];

 

  }

  System.out.println(Arrays.toString(numbers));

 

  }

  }

 

 

  답은 같음

 [1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

 

 

이 코드는 피보나치 수열을 생성하는 예제입니다.

배열 numbers의 처음 두 요소는 0과 1로 초기화되어 있고,

그 뒤의 요소들은 앞의 두 요소를 더한 값으로 계속 업데이트됩니다.

이를 통해 피보나치 수열이 생성됩니다.  

 

for (int i = 2 )

피보나치 수열의 첫 번째와 두 번째 원소를 이미 알고 있기 때문에, 세 번째 원소부터 계산을 시작하는 것입니다.

만약 i를 0부터 시작하면, 첫 번째와 두 번째 원소를 다시 계산하게 되므로,

i를 2부터 시작하여 중복 계산을 피할 수 있습니다.

 

 

 

import java.util.Arrays;

 Java에서 제공하는 Arrays 클래스를 사용하기 위해 선언하는 구문입니다.

Arrays 클래스는 배열과 관련된 다양한 유용한 메서드를 제공합니다.

여기서는 Arrays.toString() 메서드를 사용하여 배열의 내용을 문자열로 변환하여 출력하는 데 활용했습니다.

'2023.11.21-2024.05.31' 카테고리의 다른 글

1207JAVA - Array06(가위바위보2)  (2) 2023.12.07
1207JAVA - Array05  (0) 2023.12.07
1207 JAVA - Array03  (0) 2023.12.07
1207 JAVA - Array02(로또)  (0) 2023.12.07
1207 JAVA - Array01(배열)  (0) 2023.12.07