Q. 5행 5열의 배열 A에 가로와 세로의 합니 모두 같은 마방진을 완성하는 순서도를 작성하시오.
1. 5행 5열의 2차원 배열 A를 선언한다.
2. 행의 시작 위치는 i이므로 1로 초기화한다.
3. 배열의 가운데 열번호를 계산한다.
4. 배열에 저장되는 값으로 사용한 반복변수 K가 1에서 25가 될때가지 1씩 증가시키면서 반복한다.
1) 배열 A의 i행 J열에 K를 저장한다.
2) 저장될 숫자가 5의 배수인지 확인하기 위해 나머지를 계산한다.
3) NMG가 0이면 5의 배수인지 확인하기 위해 YES로 가고 아니면 NO로 간다.
A. Yes일 경우, 배열에 입력할 숫자를 5로 나눴을 떄 나머지가 0일 경우 5의배수이므로 그 다음 숫자는 행만 증가시킨 위키에 저장한다는 것을 생각한다. 그리고 다음 반복을 진행한다.
B. No일 경우, 다음 행을 지정한기 위해 행을 1 감소시킨다.
C. 다음 열을 지정하기 위해 열을 1 감소시킨다.
D. 행을 지정하는 변수 i가 보다 작으면 행을 5로 지정해야 하므로 Yes로 가고 아니면 No로 간다.
A) No일경우, E로 간다.
B) Yes일 경우, 행이 1보다 작아진 경우에는 행을 마지막 행으로 변경한다는 것을 생각한다. 그리고 E로 간다.
E. 열에 지정하는 변수 J가 5보다 크면 열을 1로 지정해야 하므로 Yes로 가고 아니면 No로 간다.
A) No일 경우, 다음 반복을 진행한다.
B) Yes일 경우, 열이 5보다 커진 경우에는 열을 첫번째 열로 변경한다는 것을 생각한다.
5. 모든 반복이 종료되면, 배열 A를 출력하고 끝낸다.
해당 글은 제가 만든 어플을 기준으로 작성하였습니다.
더 많은 정보는 알고리즘어플을 이용해주세요.
'Study > Algorithm_정보처리기사' 카테고리의 다른 글
[정보처리기사][알고리즘][응용] 화폐의 종류별 매수 계산 (0) | 2015.08.22 |
---|---|
[정보처리기사][알고리즘][배열] 행렬변환 (0) | 2015.08.22 |
[정보처리기사][알고리즘][배열] 대각선으로 채우기 (1) | 2015.08.22 |
[정보처리기사][알고리즘][배열] 90도 회전하기 (0) | 2015.08.22 |
[정보처리기사][알고리즘][배열] 달팽이 배열 만들기 (0) | 2015.08.21 |
댓글