다음 JAVA 프로그램이 실행되었을 때의 결과를 쓰시오.public c… | 21년-3회차-정보처리기사-필기 기출문제 상세 페이지
121년-3회차-정보처리기사-필기
다음 JAVA 프로그램이 실행되었을 때의 결과를 쓰시오.
public class ovr {
public static void main(String [] arge) {
int arr[];
int i = 0;
arr = new int[10];
arr[0] = 0;
arr[1] = 1;
while(i<8) {
arr[i+2] = arr[i+1] + arr[i];
i++;
}
System.out.println(arr[9]);
}
}
1
13
2
21
3
34
4
55
해설
배열이 피보나치 수열로 채워지고 마지막에 인덱스 9의 값을 출력하므로 결과는 34다.
arr[0]=0, arr[1]=1로 시작해 i가 0부터 7까지 여덟 번 도는 동안 arr[i+2] = arr[i+1] + arr[i] 를 수행하므로 arr[2]부터 arr[9]까지가 앞의 두 값을 더한 값으로 채워진다.
차례로 계산하면 arr = 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 가 되고, 출력 대상인 arr[9]는 21+13 = 34다.
21은 arr[8], 13은 arr[7]의 값이므로 반복 횟수를 하나 적게 세면 나오는 값이고, 출력되는 값은 아니다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.