蓝桥杯---九数组分数

1,2,3 ... 9 这九个数字组成一个分数,其值恰好为1/3,如何组法?

下面的程序实现了该功能,请填写划线部分缺失的代码。

蓝桥杯---九数组分数_第1张图片

蓝桥杯---九数组分数_第2张图片

注意,只能填写缺少的部分,不要重复抄写已有代码。不要填写任何多余的文字。

代码

public class _05九数组分数 {
    public static void test(int[] x){
        int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3];
        int b = x[4]*10000 + x[5]*1000 + x[6]*100 + x[7]*10 + x[8];
        if(a*3 == b){
            System.out.println(a + " " + b);
        }
    }
    public static void f(int[] x, int k) {
        if (k >= x.length) {
            test(x);
            return;
        }
        for (int i = k; i < x.length; i++) {
            {
                int t = x[k];
                x[k] = x[i];
                x[i] = t;
            }//交换,确定这一位
            f(x, k + 1);
            {
                int t = x[k];
                x[k] = x[i];
                x[i] = t;//回溯,恢复到下探之前的状态
            }
        }
    }
    public static void main(String[] args) {
        int[] x = {1,2,3,4,5,6,7,8,9};
        f(x,0);

    }
}

结果

蓝桥杯---九数组分数_第3张图片

你可能感兴趣的:(蓝桥杯,java,蓝桥杯,算法)