题目:用1,2,3……,9组成3个三位数abc,def和ghi,
每个数字恰好使用一次,
要求abc:def:ghi=1:2:3。
输出所有解。
解:
public class Main {
static int[] ha = new int[10];
public static boolean fun(int num) {
int x = num / 100; // 百位
int y = num / 10 % 10; // 十位
int z = num % 10; // 个位
if (ha[x] == 1 || ha[y] == 1 || ha[z] == 1 || x == y || x == z || y == z) {
return false;
}
ha[x] = 1;
ha[y] = 1;
ha[z] = 1;
return true;
}
public static void main(String[] args) {
ha[0] = 1;
for (int a = 123; a < 333; a++) {
for (int i = 1; i <= 9; i++) {
ha[i] = 0;
}
// Arrays.fill(ha, 0);
int b = 2 * a;
int c = 3 * a;
if (fun(a) && fun(b) && fun(c)) {
System.out.println(a + " " + b + " " + c);
}
}
}
}