상당히 많은 시행착오를 거쳐 완성된 소스
꽤 걸렸다 ㅠㅠ
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;
}