'코드'에 해당되는 글 2건

  1. 2006/10/29 하노이의 탑(C 코드)
  2. 2006/06/09 홀수 마방진(C 코드)

하노이의 탑(C 코드)

|

2009-03-25
오늘 갑자기 페이지뷰가 크게 늘었네요.
왠일인가 싶어서 생각해보니, 이맘 때 쯤이면 대학생들 과제제출할 때가 아닌가 싶더군요.
그래서 이 페이지를 다시 봤는데, 코드가 이쁘게(?) 출력되지 않아서 페이지를 수정했습니다.

티스토리에서 코드 출력을 위한 방법 :
syntaxhighlighter를 tistory에 설치 하는 방법 - http://gyuha.tistory.com/193

코드 보시는 학생 여러분! 단순히 복사만 하지 마시고, 이해를 할려고 노력해주셨으면 합니다.
그래야 실력이 늘거든요. (코드가 허접하긴 합니다만..)

그럼 즐프하세요 :)

Trackback 0 And Comment 0

홀수 마방진(C 코드)

|

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 홀수 마방진의 경우를 보자.

  1. a[0][1] 에서 출발한다.
  2. 오른쪽 위의 대각선 방향으로 진행한다.
       a[-1][2] 로 진행해야 하지만 -1 줄은 없는경우이다.
      따라서 a[2][2]로 진행한다.
  3. 오른쪽 위의 대각선 방향으로 진행한다.
      a[1][3] 으로 진행해야 하지만 3칸은 없다.
      따라써 a[1][0] 으로 진행한다.
  4. 오른쪽 위의 대각선 방향으로 진행한다.
      a[0][1] 로 진행해야 하지만 이미 값이 들어있다.
      따라서 a[2][0] 으로 한칸 내려 온다.
  5. 오른쪽 위의 대각선 방향으로 진행한다.
      a[1][1] 로 진행한다.
  6. 오른쪽 위의 대각선 방향으로 진행한다.
      a[0][2] 로 진행한다.
  7. 오른쪽 위의 대각선 방향으로 진행한다.
      a[-1][3] 으로 진행한다. -1줄, 3칸은 없는 경우이다.
      따라서 a[2][0]으로 진행한다. 이미 값이 들어있다.
      따라서 원래의 위치 a[0][2]에서 한칸 내려온다.
      a[1][2]로 진행한다.
  8. 오른쪽 위의 대각선 방향으로 진행한다.
      a[0][3] 으로 진행한다. 3은 없는 칸이다.
      따라서 a[0][0] 으로 진행한다.
  9. 오른쪽 위의 대각선 방향으로 진행한다.
      a[-1][1]로 진행한다. -1 줄은 없는 줄이다.
      따라서 a[2][1]로 진행한다.
끝.

이와같이 마방진을 채워나간다.

-------------------------------------------------------------

    Trackback 0 And Comment 0
    prev | 1 | next