zoukankan      html  css  js  c++  java
  • java编程思想中求吸血鬼数字的两种写法

    class M{
        public static void main(String[] args) {
            int count = 0;
            String[] s_arr,n_arr;
            for (int i = 10; i < 100; i++) {
                for (int j = i; j < 100; j++) {
                    int sum = i * j;
                    if(sum > 1000 && sum < 10000 && (sum - i - j) % 9 == 0){
                        count++;
                        s_arr = String.valueOf(sum).split("");
                        n_arr = (String.valueOf(i) + String.valueOf(j)).split("");
                        Arrays.sort(s_arr);
                        Arrays.sort(n_arr);
                        if(Arrays.equals(s_arr,n_arr)){
                            System.out.println(sum+"="+i+"*"+j);
                        }
                    }
                }
            }
            System.out.println(count);
        }
    }

    运行结果:

    1395=15*93
    1260=21*60
    1827=21*87
    2187=27*81
    1530=30*51
    1435=35*41
    6880=80*86
    255

    class L{
        public static void main(String[] args) {
            int count = 0,num = 0;
            for (int i = 10; i < 100; i++) {
                for (int j = i; j < 100; j++) {
                    int sum = i * j;
                    if(sum > 1000 && sum < 10000 && (sum - i - j) % 9 == 0){
                        count++;
                        int[] s_arr = new int[4];
                        int k = 0;
                        while(sum != 0){
                            s_arr[k++] = sum % 10;
                            sum /= 10;
                        }
                        int[] n_arr = new int[4];
                        n_arr[0] = i / 10;
                        n_arr[1] = i % 10;
                        n_arr[2] = j / 10;
                        n_arr[3] = j % 10;
                        int scount = 0;
                        for (int l = 0; l < 4; l++) {
                            for (int m = 0; m < 4; m++) {
                                num++;
                                if(s_arr[l] == n_arr[m]){
                                  scount++;
                                  s_arr[l] = -1;
                                  n_arr[m] = -2;
                                  if(scount == 4)
                                      System.out.println(i * j + "=" + i + "*" + j);
                                }
                            }
                        }
    
                    }
                }
            }
            System.out.println(count);
            System.out.println(num);
        }
    }
    

    运行结果:

    1395=15*93
    1260=21*60
    1827=21*87
    2187=27*81
    1530=30*51
    1435=35*41
    6880=80*86
    255
    4080

  • 相关阅读:
    集合(5)—Map之HashMap()
    《转》python 10 集合
    《转》python8元组
    《转》python(7)列表
    《转》python数据类型
    《转》python对象
    《转》python
    《转》python基础下
    《转》python学习基础
    《转》python 9 字典,numpy
  • 原文地址:https://www.cnblogs.com/lirun/p/11476921.html
Copyright © 2011-2022 走看看