해설을 봐도 약간 이해가 부족하게 느낍니다 자세히 설명부탁드립니다.
안녕하세요.
numAry에는 0, 0, 0, 0, 3 이 저장되어 있습니다.
즉
numAry[0]에는 0이
numAry[1]에는 0이
numAry[2]에는 0이
numAry[3]에는 0이
numAry[4]에는 3이 저장되어 있는 것이죠.
바깥쪽 for문
j는 초기값 4를 가지고 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4를 가지고 종료값 i > j 조건을 만족하지 않으므로 반복문을 수행하지 않고 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 3이된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[3]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[3]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 0
numAry[2]에는 0
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 2가된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[2]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[2]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 0
numAry[2]에는 3
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[2]에 numAry[3]의 값을 누적합니다. 그러면 아래와 같이 numAry[2]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 0
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 2이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 1이된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[1]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[1]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 3
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[1]에 numAry[3]의 값을 누적합니다. 그러면 아래와 같이 numAry[1]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 6
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 2가된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[1]에 numAry[2]의 값을 누적합니다. 그러면 아래와 같이 numAry[1]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 1이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 0이된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 3
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[3]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 6
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 2가된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[2]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 12
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 1이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[1]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 24
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 1이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 -1이된 상태에서 종료값 j>=0 조건에 만족하지 않으므로 반복문을 빠져나옵니다.
그래서 결국 최종적으로 nuymAry 배열의 값은
24 12 6 3 3이 되므로 화면에는 한 줄씩 출력되어
24
12
6
3
3
이 된 것입니다
수행 과정을 510쪽 디비겅 표와 함께 이해하시면 쉽게 이해하실 수 있습니다.
오늘도 즐거운 하루 되세요.
-
*2017-04-05 10:51:51
안녕하세요.
numAry에는 0, 0, 0, 0, 3 이 저장되어 있습니다.
즉
numAry[0]에는 0이
numAry[1]에는 0이
numAry[2]에는 0이
numAry[3]에는 0이
numAry[4]에는 3이 저장되어 있는 것이죠.
바깥쪽 for문
j는 초기값 4를 가지고 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4를 가지고 종료값 i > j 조건을 만족하지 않으므로 반복문을 수행하지 않고 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 3이된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[3]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[3]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 0
numAry[2]에는 0
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 2가된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[2]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[2]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 0
numAry[2]에는 3
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[2]에 numAry[3]의 값을 누적합니다. 그러면 아래와 같이 numAry[2]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 0
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 2이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 1이된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[1]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[1]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 3
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[1]에 numAry[3]의 값을 누적합니다. 그러면 아래와 같이 numAry[1]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 6
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 2가된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[1]에 numAry[2]의 값을 누적합니다. 그러면 아래와 같이 numAry[1]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 1이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 0이된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 3
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[3]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 6
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 2가된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[2]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 12
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 1이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[1]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 24
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 1이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 -1이된 상태에서 종료값 j>=0 조건에 만족하지 않으므로 반복문을 빠져나옵니다.
그래서 결국 최종적으로 nuymAry 배열의 값은
24 12 6 3 3이 되므로 화면에는 한 줄씩 출력되어
24
12
6
3
3
이 된 것입니다
수행 과정을 510쪽 디비겅 표와 함께 이해하시면 쉽게 이해하실 수 있습니다.
오늘도 즐거운 하루 되세요.