➌ 안쪽 두 번째 반복문은 실습 3의 코드를 그대로 복사해서 사용하고 조건만 따로 생각해 보죠. 두 번째 반복문에서는 별표를 출력하는데, 처음에는 별표 1개, 그다음은 3개, 5개, 7개, 9개로 2씩 커지고 있습니다. 숫자를 보면 알겠지만, 홀수입니다. 2씩 커지는 값을 어떻게 구하죠? 2를 곱해 볼까요? 그리고 홀수니까 + 1을 해 봅시다. 그럼 i가 0부터 시작하니까 첫째 줄은 0(i) × 2 + 1 = 1이 되므로 별표가 하나, 둘째 줄은 1(i) × 2 + 1 = 3이 되므로 별표가 셋, 셋째 줄은 2(i) × 2 + 1 = 5가 되므로 별표가 다섯이 됩니다. 홀수를 구하는 방법은 책에 나온 방법 외에도 많으니 다른 방법을 사용해도 됩니다.
➍ 마지막에 층을 구분하기 위해 줄바꿈하는 것도 잊지 마세요.
이해하기 쉽도록 실행 과정을 표로 정리해 봅시다.
표 3-3 실행 과정(5를 입력받은 경우)
반복 횟수 |
i 값 |
floor - 1 |
j 값 |
i * 2 + 1 |
k 값 |
실행결과 |
1 |
0 |
4 |
0, 1, 2, 3 |
1 |
0 |
SSSS*(줄바꿈) |
2 |
1 |
4 |
1, 2, 3 |
3 |
0, 1, 2 |
SSS***(줄바꿈) |
3 |
2 |
4 |
2, 3 |
5 |
0, 1, 2, 3, 4 |
SS*****(줄바꿈) |
4 |
3 |
4 |
3 |
7 |
0, 1, 2, 3, 4, 5, 6 |
S*******(줄바꿈) |
5 |
4 |
4 |
4 |
9 |
0, 1, 2, 3, 4, 5, 6, 7, 8 |
*********(줄바꿈) |