1.题目
2.思路 这个题与前面的六角填数一样 所以我们利用全排列进行做题 把每一个数用一维数组表示出来
3.代码
public class J137 {
static int a[]= {2,3,4,5,6,7,8,10,12,14};
//全排列
public static void f(int k) {
int t=0;
if(k==10) {
if(check()) {
System.out.println(a[7]);
}
}
for(int i=k;i<10;i++) {
{t=a[i];
a[i]=a[k];
a[k]=t;}
f(k+1);{t=a[i];
a[i]=a[k];
a[k]=t;}
}
}
//判断条件
static boolean check() {
int b=29+a[0]+a[1];
int c=11+a[2]+a[3]+a[4];
int d=9+a[5]+a[6]+a[7];
int e=a[8]+15+a[9]+1;
int f=16+a[2]+9+a[8];
int g=a[0]+a[3]+a[5]+15;
int h=a[1]+11+a[6]+a[9];
int i=13+a[4]+a[7]+1;
int j=16+a[3]+a[6]+1;
int k=24+a[5]+a[8];
if(b==c&&c==d&&d==e&&e==f&&f==g&&g==h&&h==i&&i==j&&j==k) {
return true;
}
return false;
}
//调用
public static void main(String[] args) {
f(0);
}
}