一个渣渣的分享(一定一定看到最后):

三羊献瑞

观察下面的加法算式:

     祥 瑞 生 辉
+   三 羊 献 瑞
-------------------------
    三 羊 生 瑞 气

(如果有对齐问题,可以参看【图1.jpg】)

其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。

请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。

图一

public class 三羊献瑞 {
    public static void main(String[] args) {
        //让祥 瑞 生 辉羊 献 气代表字母abcdfgh
        for(int a=0;a<=9;a++) {
            for(int b=0;b<=9;b++) {
                for(int c=0;c<=9;c++) {
                    for(int d=0;d<=9;d++) {
                        for(int f=0;f<=9;f++) {
                            for(int g=0;g<=9;g++) {
                                for(int h=0;h<=9;h++) {
                                    if(a!=b&&a!=c&&a!=d&&a!=f&&a!=g&&a!=h
                                        &&b!=c&&b!=d&&b!=f&&b!=g&&b!=h
                                        &&c!=d&&c!=f&&c!=h&&c!=g
                                        &&d!=f&&d!=g&&d!=h
                                        &&f!=g&&f!=h
                                        &&g!=h
                                        &&a!=1&&b!=1&&c!=1&&d!=1&&f!=1&&g!=1&&h!=1)
                                    {
                                        int sum = a*1000+b*100+c*10+d;
                                        int sum1 = 1*1000 +f*100 +g*10+b;
                                        int sum2 = 1*10000+f*1000+c*100+b*10+h;
                                        if((sum+sum1)==sum2) {
                                            System.out.println(1+""+f+g+b);
                                            System.out.println(2+"--"+a+b+c+d+f+g+h);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

一渣一思路:

  1、暴力破解,然后让因为进位原因可以推测三等于1

  2、然后”祥 瑞 生 辉羊 献 气代表字母 abcdfgh “

  3、7个循环嵌套,结束条件,每个值都不能相等因为字不同,然后都不能等于1,三已经等于了,最后让他变成算式

一渣一总结:

  1、遇到这种直接暴力

  2、想到字母替换