C#详尽地列举了一个问题

这就是所谓的魔方矩阵或者魔方。你写错了吗?总和怎么可能是6,4 * 4的幻方,总和应该是34?

平面魔方的一般定义是:自然数的范围是1到N ^ 2,排列N行N列的方阵,使每一行每一列和两条主对角线上的N个数之和等于N(N ^ 2+1)/2。这样的方阵称为n阶幻方。

当n是4的倍数时

采用对称元素交换法。

首先,将数字1到n×n从上到下、从左到右填入矩阵。

然后将方阵所有4×4子矩阵中两条对角线上的数关于大方阵的中心中心对称交换(注意每个子矩阵对角线上的数),即a(i,j)与a(n+1-i,n+1-j)交换,其他所有位置的数保持不变。(或者保持对角线不变,其他位置可以对称互换。)