用1到9组成3个三位数使其中两个数的和等于第三个(不重复 用数组方法)
public class Test11 {
public static void main(String[] args){
int[][][] arr = new int[10][10][10] ;
for(int i = 1 ; i < 10 ; i++){
for(int j = 1 ; j < i ; j++){
for(int k =1 ; k < j ; k++){
arr[i][j][k] = 100*i + 10*j + k ;
arr[i][k][j] = 100*i + 10*k + j ;
arr[j][i][k] = 100*j + 10*i + k ;
arr[j][k][i] = 100*j + 10*k + i ;
arr[k][i][j] = 100*k + 10*i + j ;
arr[k][j][i] = 100*k + 10*j + i ;
System.out.print(arr[j][i][k]+"\t");


}
}
}

}
}

解决方案 »

  1.   

    public class Test11 {
    public static void main(String[] args){
    int[][][] arr = new int[10][10][10] ;
    for(int i = 1 ; i < 10 ; i++){
    for(int j = 1 ; j < i ; j++){
    for(int k =1 ; k < j ; k++){
    arr[i][j][k] = 100*i + 10*j + k ;
    arr[i][k][j] = 100*i + 10*k + j ;
    arr[j][i][k] = 100*j + 10*i + k ;
    arr[j][k][i] = 100*j + 10*k + i ;
    arr[k][i][j] = 100*k + 10*i + j ;
    arr[k][j][i] = 100*k + 10*j + i ;
    System.out.print(arr[j][i][k]+"\t");


    }
    }
    }

    }
    }[code=java][/code]
      

  2.   

    public 这是个最大权限的修饰符
      

  3.   

    public class TestAdd {
    public static void main(String[] args) {
    int[] num = new int[9 * 9 * 9];// 数组存放满足条件的数
    int index = 0;// 数组下标
    int sum = 0;
    int x = 0;// 记录满足条件的组合总数
    for (int i = 111; i < 999; i++) {
    if (i % 10 != 0 && i / 10 % 10 != 0) {
    num[index] = i;
    index++;
    }
    } for (int i = 0; i < 499; i++) {// 选取第一个数
    for (int j = i + 1; (sum = num[i] + num[j]) <= 999; j++) {// 选取第二个数
    if (sum % 10 != 0 || sum / 10 % 10 != 0) {
    System.out.print(num[i] + "+" + num[j] + "=" + sum + "|");
    if (++x % 8 == 0)
    System.out.println();
    }
    }
    }
    System.out.println("\n总共有" + x + "种组合");
    }
    }
    运行结果:总共有100908种组合
      

  4.   

    public static void main(String[] args) {
    int[][][] arr = new int[10][10][10] ;
    for(int i = 1 ; i < 10 ; i++){
    for(int j = 1 ; j < 10 ; j++){
    for(int k =1 ; k < 10 ; k++){
    if(i+j==k || i+k==j || j+k==i){
    arr[i][j][k] = 100*i + 10*j + k ;
    System.out.println(arr[i][j][k]);
    }
    }
    }
    }
    }
    这样?