用java编写,求思路和程序,详解,思路希望可以写出,谢谢了
1条回答 默认 最新
- 莫问alicia 2024-09-24 12:28关注
public class MagicSquare { public static void main(String[] args) { int n = 3; // 3x3魔方阵 int[][] magicSquare = new int[n][n]; int num = 1; int i = 0, j = n / 2; // 从中间开始 while (num <= n * n) { magicSquare[i][j] = num++; int newi = (i - 1 + n) % n; // 上移 int newj = (j + 1) % n; // 右移 if (magicSquare[newi][newj] != 0) { // 如果已填充,则下移 i++; } else { i = newi; j = newj; } } // 输出魔方阵 for (int[] row : magicSquare) { for (int val : row) { System.out.print(val + "\t"); } System.out.println(); } } }
解决 无用评论 打赏 举报