【每日一题】一起冲击蓝桥杯吧——Day2【蓝桥真题】

断更要努力补!

观察下面的加法算式:

【每日一题】一起冲击蓝桥杯吧——Day2【蓝桥真题】
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字
请你填写“三羊献瑞”所代表的4位数字(答案唯一)
【每日一题】一起冲击蓝桥杯吧——Day2【蓝桥真题】

分析一下吧~ 首先我们读完题,可以发现,有八个不同的数字(祥,瑞,生,辉, 三,羊,献, 气) 我们可以对八个数的排列分别枚举0~9
同时题中条件知: “三”,不能为零

package com.kang.practice;

public class Demo03 {
    public static void main(String[] args) {

        for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 10; j++) {
                if (i != j)
                    for (int k = 0; k < 10; k++) {
                        if (i != k && j != k)
                            for (int q = 0; q < 10; q++) {
                                if (i != q && j != q && k != q)
                                    for (int m = 0; m < 10; m++) {
                                        if (i != m && j != m && k != m && q != m)
                                            for (int n = 0; n < 10; n++) {
                                                if (i != n && j != n && k != n && q != n && m != n)
                                                    for (int o = 0; o < 10; o++) {
                                                        if (i != o && j != o && k != o && q != o && m != o && n != o) {
                                                            int x1 = i * 1000 + j * 100 + k * 10 + q;
                                                            int x2 = m * 1000 + n * 100 + o * 10 + j;
                                                            if (result(x1, x2, i, j, k, q, m, n, o)) {
                                                                System.out.println(" " + x1);
                                                                System.out.println(" " + x2);
                                                                System.out.println(x1 + x2);
                                                            }
                                                        }
                                                    }
                                            }
                                    }
                            }
                    }
            }
        }
    }

    public static boolean result(int x1, int x2, int i, int j, int k, int l, int m, int n, int o) {
        int count = x1 + x2;
        if (count < 10000) return false;
        int a = count % 10;
        if (a == i || a == j || a == k || a == l || a == m || a == n || a == o) return false;
        count = count / 10;
        a = count % 10;
        if (a != j) return false;
        count = count / 10;
        a = count % 10;
        if (a != k) return false;
        count = count / 10;
        a = count % 10;
        if (a != n) return false;
        count = count / 10;
        a = count % 10;
        if (a != m) return false;
        return true;
    }
}
上一篇:【Python入门教程】第15篇 if条件语句


下一篇:Competition——AI:国内外人工智能比赛平台以及竞赛类型、竞赛题目、举行时间等之详细攻略(最全+ing)