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

짝수 마방진(4의 배수)

Cloud Travel 2011. 12. 30. 16:34


4의 배수 마방진인 홀수 마방진 다음으로 간단한 마방진이다. 
다음의 과정을 따르면서 실행을 한다.

ⓐ 1~16까지의 숫자를 차례대로 배열에 넣어준다.
ⓑ 순차적으로 체워진 마방진을 1:2:1로 나눈다.(4의 배수이므로 무조건 다음과 같이 나눠진다)
  > 위의 경우에서는 1:2:1로 나눠 질 것이다.
ⓒ 각각 변의 테두리에있는 1에 대한 것을 고정 시킨다.
  > 위의 경우는 다음과 같이 1,4,13,16을 고정 시킨다.

   


ⓓ  마방진 내부에 있는 1:2:1에서 2부분을 각각을 고정 시킨다.
  > 위의 경우면 다음과 같이 6,7,10,11을 고정 시킨다.
    (ⓒ단계와 합친 그림)
    

ⓔ 이제 고정 안된 부분을 각각 원점 대칭으로 한번씩 교환을 해준다.

   


ⓕ 고정 안된 부분이 모두 한번씩 원점 대칭을 실시 할때 까지 실행...

8*8의 마방진으로 순서를 한번더 보이자면 다음과 같다...


- 1~64까지 숫자를 순차적으로 채운후에 1:2:1로 나눈후 위 과정에서 ⓒ,ⓓ 과정을 실시하여 고정을 시킨다.

 
- 고정 안된 숫자가 모두 한번씩 이동이 될때까지 원점 대칭을 하면서 자리를 변경해준다.