第七届蓝桥B组java省赛凑算式

2023-05-06 17:00:09 浏览数 (1)

3、凑算式 (结果填空)

这个算式中A-I代表1-9的数字,不同的字母代表不同的数字。 比如: 6 8/3 952/714 就是一种解法, 5 3/1 972/486 是另一种解法。 这个算式一共有多少种解法? 注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。

暴力解决就行,全排列问题, 答案是29

代码语言:javascript复制
public class test {
    public static int[] a = new int[10];
    public static int count = 0;
    public static void arrange(int i) {
        if (i == 10) {
            int DEF = a[4] * 100   a[5] * 10   a[6];
            int GHI = a[7] * 100   a[8] * 10   a[9];
            double result = a[1]   a[2]*1.0 / a[3]   DEF*1.0 / GHI;
            if (result == 10.0) {
                  count;
            }
        } else {
            for (int j = i; j < 10;   j) {
                int t = a[i];
                a[i] = a[j];
                a[j] = t;
                arrange(i   1);
                int tt = a[i];
                a[i] = a[j];
                a[j] = tt;
            }
        }
    }

    public static void main(String[] args) {
        for (int i = 1; i < 10;   i) {
            a[i] = i;
        }
        arrange(1);
        System.out.println(count);
    }
}

0 人点赞