资源限制
时间限制:1.0s 内存限制:512.0MB
问题描述
将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成
1:2:3的比例,试求出所有满足条件的三个三位数。
例如:三个三位数192,384,576满足以上条件。
输入格式
无输入文件
输出格式
输出每行有三个数,为满足题设三位数。各行为满足要求的不同解。
————————————————————————————————————————————————
全排列+check
public class Main {
static int[] arr = {1,2,3,4,5,6,7,8,9};
public static void main(String[] args) {
f(0);
}
private static void f(int k) {//确定到arr的第k位
if(k == arr.length) {
int a = arr[0] * 100 + arr[1] * 10 + arr[2];
int b = arr[3] * 100 + arr[4] * 10 + arr[5];
int c = arr[6] * 100 + arr[7] * 10 + arr[8];
if(check(a, b, c)) {
System.out.println(a + " " + b + " " + c);
}
}
for(int i = k;i < arr.length;i++) {
int t = arr[k];
arr[k] = arr[i];
arr[i] = t;
f(k + 1);
t = arr[k];
arr[k] = arr[i];
arr[i] = t;
}
}
private static boolean check(int a, int b, int c) {
return b == a * 2 && c == a * 3;
}
}