竖式迷(暴力破解)

请写出加法竖式中的第一个数和第二个数,两个数之间用空格分隔开。不同字母代表的数字均不相同,首位数字不能为零。如有多组解,输出 ABCD 代表的数更小的那组。

请按照提示,将结果填写在代码框中对应的位置。

package 计蒜客模拟赛一;

public class 竖式迷 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        outer:for(int i=1000;i<9999;i++){
            int a=i/1000;
            int b=(i/100)%10;
            int c=(i/10)%10;
            int d=i%10;
            if(b==a||c==a||c==b||d==a||d==b||d==c){continue;}
            for(int j=100;j<999;j++){
                int e=j/100;
                int f=(j/10)%10;
                int g=j%10;
                if(e==a||e==b||e==c||e==d||f==a||f==b||f==c||f==d||f==e
                        ||g==a||g==b||g==c||g==d||g==e||g==f){
                    continue;
                }
                int k=i+j;
                int k1=k/1000;
                int k2=(k/100)%10;
                int k3=(k/10)%10;
                int k4=k%10;
                if(k1==e&&k2==g&&k3==a&&k4==b){
                    System.out.println(i+" "+j+" "+k);
                    break outer;
                }
            }
        }
    }

}

 

posted @ 2018-03-16 13:51  henu小白  阅读(811)  评论(0编辑  收藏  举报