글 작성자: 써니루루

상당히 많은 시행착오를 거쳐 완성된 소스

꽤 걸렸다 ㅠㅠ

4의 배수 크기의 마방진 알고리즘은 한번 찾아보시길 ~

아무튼 소스는 아래와 같습니다.

            int qSize = Size / 4;

            for (int i = 0; i < Size * Size; i++)
            {
                x = i / Size;
                y = i % Size;

                if ((x / qSize == y / qSize) || (x / qSize + y / qSize + 1 == 4))
                    this.data[x, y] = i + 1;
                else
                    this.data[Size - x - 1, Size - y - 1] = i + 1;
            }