用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");
}
}
}
}
}
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");
}
}
}
}
}
解决方案 »
- 为嘛static块中try catch必须抛呢
- 什么是正则运算法啊?
- 为不同的JAVA代码分配不同的权限,使得各自可以调用权限内定义的函数,用什么方式实现?
- 将一个正整数分解质因数,求JAVA代码(要求不能用while语句)
- 那位兄弟有AOP方面的资料 100分
- 谁能大概告诉我一下Vector()这个类是怎么回事?该怎样使用比较合适?
- 大家快来帮帮忙啊
- 请问谁能解释一下JAVA中的JAVA.util.Collection、Enumination 、Vector、 Hashtable
- visibroker 4.x for java 的序列号和key?
- java运动控制
- printf的问题
- 新手求助
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]
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种组合
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]);
}
}
}
}
}
这样?