프로그래밍[Univ]/C언어

홀수 마방진

Cloud Travel 2011. 12. 30. 16:09


홀수 마방진은 마방진을 만드는 것중에서 가장 간단한 형태이다.
위에서 파란원이 만들려고 하는 마방진이다.(크기 3짜리 3*3 마방진을 만든다.)
다음과 같은 과정을 따르며 마방진을 완성해간다.

ⓐ 시작숫자 1을 첫번째 행, 가운데 열에 넣는다.
ⓑ 숫자가 (3의 배수 + 1)일 경우는 바로 밑에 숫자를 적어준다.
    > 위의 경우 4또는 7이 이에 해당한다.  
ⓒ 다음 숫자를 오른쪽 대각선위에 적는다.
   > 만약, 숫자가 마방진크기를 벗어나게 되면 그 행 또는 열의 가장자리로 보낸다.
     (위의 경우 2의 경우 행에서 크기가 벗어나므로 맨 밑행으로 숫자를 이동시킨다.)
     (위의 경우 3의 경우 열이 크기에서 벗어나므로 맨 오른쪽행으로 숫자를 이동시킨다.)
ⓓ 숫자가 size*size가 될때까지 숫자를 더해주면서 ⓒ의 과정을 반복한다. 

다양한 홀수 마방진의 형태 (3차 5차 7차 마방진)