完成九宮格程式 在井字型的格局中(奇數格局),放入數字,使得每行每列以及斜對角線的和都相等 經驗規則:從1開始按順序逐個填寫,1放在第一行的中間位置,下一個數往右上角45度 處填寫。如果單邊越界則按頭尾相接地填;如果有衝突,則填在剛纔位置的底下一格 如果雙邊越界,則填在剛纔位置的底下一格。 ...
import java.util.Scanner; public class Sudoku { public static void main(String[] args) { System.out.println("請輸入九宮格的行列規模(只能是奇數的):"); Scanner scn = new Scanner(System.in); int n = Integer.parseInt(scn.nextLine()); int arr[][] = new int[n][n]; int a = 0; int b = (n-1) / 2; arr[a][b] = 1; for (int i = 2; i <= n*n; i++) { if(a==0 && b==n-1) { a++; } else if(a==0 && b>=0 && a<n-1) { a=n-1; b++; } else if(a>0 && a<=n-1 && b==n-1) { b=0; a--; } else if(arr[a-1][b+1]!=0) { a++; } else { b++; a--; } arr[a][b]=i; } for(int ii = 0;ii<n;ii++) { for (int jj = 0; jj < n; jj++) { System.out.print(arr[ii][jj] + "\t"); } System.out.println(); } } }
完成九宮格程式
在井字型的格局中(奇數格局),放入數字,使得每行每列以及斜對角線的和都相等
經驗規則:從1開始按順序逐個填寫,1放在第一行的中間位置,下一個數往右上角45度
處填寫。如果單邊越界則按頭尾相接地填;如果有衝突,則填在剛纔位置的底下一格
如果雙邊越界,則填在剛纔位置的底下一格。