神奇幻方
import java.io.IOException; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int arr[][] = new int[n][n]; int x = 0,y = n / 2; arr[x][y] = 1; for (int k = 2; k <= n * n; k++) { if(x == 0 && y != n - 1){ arr[n - 1][y + 1] = k; x = n - 1; y += 1; }else if(y == n - 1 && x != 0){ arr[x-1][0] = k; x -= 1; y = 0; }else if(x == 0 && y == n - 1){ arr[x+1][y] = k; x+=1; }else if(x != 0 && y != n - 1){ if(arr[x - 1][y + 1] == 0){ arr[x - 1][y + 1] = k; x -= 1; y += 1; }else{ arr[x + 1][y] = k; x += 1; } } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.printf(arr[i][j]+ " "); } System.out.println(); } } }