将数字 1…9 填入一个 3×3 的九宫格中,使得格子中每一横行和的值全部相等,每一竖列和的值全部相等。请你计算有多少种填数字的方案。



static int num=0;
public static void main(String[] args){
int[] i={1,2,3,4,5,6,7,8,9};
allSort(i,0);
System.out.println(num);
}

private static void allSort(int[] i, int j) {
if(j==i.length){
int sum=i[0]+i[1]+i[2];
int sum1=i[0]+i[3]+i[6];
if(sum==i[3]+i[4]+i[5]&&sum==i[6]+i[7]+i[8]&&sum1==i[1]+i[4]+i[7]&&sum1==i[2]+i[5]+i[8]){
num++;
}
return;
}
for(int a=j;a<i.length;a++){
int temp=i[a];
i[a]=i[j];
i[j]=temp;
allSort(i,j+1);
temp=i[a];
i[a]=i[j];
i[j]=temp;
}
}