zoukankan      html  css  js  c++  java
  • java实现古堡算式

    ** 古堡算式**

    福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:
    ABCDE * ? = EDCBA
    他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
    华生:“我猜也是!”
    于是,两人沉默了好久,还是没有算出合适的结果来。
    请你利用计算机的优势,找到破解的答案。
    把 ABCDE 所代表的数字写出来。

    答案写在“解答.txt”中,不要写在这里!

    参考答案:
    21978

    import java.util.ArrayList;
    
    
    public class Main {
        
        public void dfs(ArrayList<Integer> list, int step) {
            if(step == 5) {
                check(list);
                return;
            } else {
                for(int i = 0;i < 10;i++) {
                    if(list.contains(i))
                        continue;
                    list.add(i);
                    dfs(list, step + 1);    
                    list.remove(list.size() - 1);
                }
            }
            return;
        }
        
        public void check(ArrayList<Integer> list) {
            if(list.get(0) == 0)
                return;
            int A = 0, B = 0;;
            for(int i = 0;i < list.size();i++) {
                A = A * 10 + list.get(i);
                B = B * 10 + list.get(4 - i);
            }
            for(int i = 1;i < 9;i++) {
                if(A * i == B) {
                    System.out.println("A = "+A+", B = "+B+", i = "+i);
                }
            }
            return;
        }
        
        public static void main(String[] args) {
            Main test = new Main();
            ArrayList<Integer> list = new ArrayList<Integer>();
            test.dfs(list, 0);
        }
        
    }
    
  • 相关阅读:
    Cassandra
    POST和GET方法
    webx流程
    Cassandra的内部数据存储结构
    Session和Cookie
    昆爷又发了4篇siggraph2010,牛A...榜样和目标...
    真正开博了
    ebook搜索,I can! cool!
    (转)计算机图形学的学习
    3D图形学习的现在和将来(转)
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13077072.html
Copyright © 2011-2022 走看看