魔方阵是一个N*N的矩阵,该矩阵每一行,每一列,对角线之和都相等。
public static void magic(int n) {
int[][] res = new int[n][n];
int i = 0, j = n / 2;
for (int k = 1; k <= n * n; k++) {
res[i][j] = k;
if (k % n == 0) {
i = (i + 1) % n;
} else {
i = (i - 1 + n) % n;
j = (j + 1) % n;
}
}
for (i = 0; i < res.length; i++) {
for (j = 0; j < res[i].length; j++) {
System.out.print(res[i][j] + " ");
}
System.out.println();
}
}