'코드'에 해당되는 글 2건
- 2006/10/29 하노이의 탑(C 코드)
- 2006/06/09 홀수 마방진(C 코드)
2009-03-25
오늘 갑자기 페이지뷰가 크게 늘었네요.
왠일인가 싶어서 생각해보니, 이맘 때 쯤이면 대학생들 과제제출할 때가 아닌가 싶더군요.
그래서 이 페이지를 다시 봤는데, 코드가 이쁘게(?) 출력되지 않아서 페이지를 수정했습니다.
티스토리에서 코드 출력을 위한 방법 :
syntaxhighlighter를 tistory에 설치 하는 방법 - http://gyuha.tistory.com/193
코드 보시는 학생 여러분! 단순히 복사만 하지 마시고, 이해를 할려고 노력해주셨으면 합니다.
그래야 실력이 늘거든요. (코드가 허접하긴 합니다만..)
그럼 즐프하세요 :)
1) 홀수 마방진 프로그램을 작성하시오
number = 3 일때:
| 8 | 1 | 6 |
| 3 | 5 | 7 |
| 4 | 9 | 2 |
number = 5 일때:
| 17 | 24 | 1 | 8 | 15 |
| 23 | 5 | 7 | 14 | 16 |
| 4 | 6 | 13 | 20 | 22 |
| 10 | 12 | 19 | 21 | 3 |
| 11 | 18 | 25 | 2 | 9 |
홀수 마방진을 만드는 규칙
- 주어진 배열(3X3, 또는 5x5)의 맨위줄의 가운데 칸에서 시작한다.
- 현재위치에서 대각선으로 오른쪽 위로 진행하면서 다음 값을 넣는다.
- 첫 줄 다음은 맨아래 줄이 된다.
- 마지막 칸의 다음은 첫 칸이 된다.
- 진행방향에 값이 이미 들어있을 경우에는 원래의 칸에서 한칸 밑으로 내려온다.
예를 들어서 3x3 홀수 마방진의 경우를 보자.
끝.
a[-1][2] 로 진행해야 하지만 -1 줄은 없는경우이다.
따라서 a[2][2]로 진행한다.
a[1][3] 으로 진행해야 하지만 3칸은 없다.
따라써 a[1][0] 으로 진행한다.
a[0][1] 로 진행해야 하지만 이미 값이 들어있다.
따라서 a[2][0] 으로 한칸 내려 온다.
a[1][1] 로 진행한다.
a[0][2] 로 진행한다.
a[-1][3] 으로 진행한다. -1줄, 3칸은 없는 경우이다.
따라서 a[2][0]으로 진행한다. 이미 값이 들어있다.
따라서 원래의 위치 a[0][2]에서 한칸 내려온다.
a[1][2]로 진행한다.
a[0][3] 으로 진행한다. 3은 없는 칸이다.
따라서 a[0][0] 으로 진행한다.
a[-1][1]로 진행한다. -1 줄은 없는 줄이다.
따라서 a[2][1]로 진행한다.
이와같이 마방진을 채워나간다.
-------------------------------------------------------------


