第1个回答 2017-06-29
所有情况如下,请采纳
12345678910111213141516171819202122232425262728293031323334public class Jiugongge { public static void main(String[] args) { int[] c=new int[12]; dfs(c,0); } static void dfs(int[] c,int cur){ if (cur == 9&&c[6]+c[7]+c[8]==15) { for (int i = 0; i < 9; i++) { System.out.print(c[i] + " "); if((i+1)%3==0) System.out.println(); } System.out.println(); } else{ for(int i=1;i<=9;i++){ boolean ok=true; for(int j=0;j<cur;j++) if(c[j]==i) { ok=false;break; } if(cur==3&&c[0]+c[1]+c[2]!=15 ||cur==6&&c[3]+c[4]+c[5]!=15 ||cur==7&&c[0]+c[3]+c[6]!=15 ||cur==8&&c[1]+c[4]+c[7]!=15) ok=false; if(ok){ c[cur]=i; dfs(c, cur+1); } } } }}