m0_58658102 2021-05-31 16:51 采纳率: 0%
浏览 93

问个题啊啊啊急急急!!!

 

  • 写回答

5条回答 默认 最新

  • 一剑荒芜 2021-05-31 17:17
    关注
            int count = 0;
            for (int a = 1; a < 10; a++) {
                for (int b = 1; b < 10; b++) {
                    for (int c = 1; c < 10; c++) {
                        for (int d = 1; d < 10; d++) {
                            for (int e = 1; e < 10; e++) {
                                for (int f = 1; f < 10; f++) {
                                    for (int g = 1; g < 10; g++) {
                                        for (int h = 1; h < 10; h++) {
                                            for (int i = 1; i < 10; i++) {
                                                Set<Integer> set = new HashSet<>();
                                                set.add(a);
                                                set.add(b);
                                                set.add(c);
                                                set.add(d);
                                                set.add(e);
                                                set.add(f);
                                                set.add(g);
                                                set.add(h);
                                                set.add(i);
                                                if (set.size() == 9
                                                        && Integer.parseInt((a + "" + b + c)) + Integer.parseInt((d + "" + e + f)) == Integer.parseInt((g + "" + h + i))) {
                                                     System.out.println((a + "" + b + c) + " + " + (d + "" + e + f) + " = " + (g + "" + h + i));
                                                     count += 1;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
    

    先这样将就一下吧,后面看看有什么优雅的方案;别用这个,不好

    可以看下这个

        public static void main(String[] args) {
            int count = 0;
            for (int a = 111; a < 999; a++){
                for (int b = 111; b < 999; b++){
                    String str = a + "" + b;
                    String strSum = a + b + "";
                    str = str + strSum;
                    int size = getSize(str);
                    if (size == 9 && strSum.length() == 3 &&  a + b == Integer.parseInt(strSum)){
                        System.out.println(a + " + " + b + " = " + strSum);
                        count ++;
                    }
                }
            }
            System.out.println("一共有 " + count + " 种可能");
        }
        public static int getSize(String str){
            Set<String> set = new HashSet<>();
            for (int a = 0; a < str.length(); a++){
               set.add(str.substring(a, a + 1));
            }
            set.remove("0");
            return set.size();
        }

     

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题