zoukankan      html  css  js  c++  java
  • 吸血鬼数字

    题目:吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而对数字各包含乘积的一半数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾的数字是不允许的,列如:
    1260=21*60;
    1827=21*87;
    2187=27*81;
    请写出一个程序,找出所有的4位吸血鬼数字。
    解:反过来想,
    不从考虑某个数(1001到9999)是不是吸血鬼数,而是遍历2位数相乘,看是否符合某种规则,符合的话,他们的积就是吸血鬼数

    package test1;

    import java.util.Arrays;
    import java.util.Scanner;

    /**
     * 吸血鬼数字:位数为偶数,可以由一对数字相乘而得,这对数字分别是吸血鬼数字的一半位数的,顺序不规定<br>
     * 1260=12*60, 1827=21*87
     */
    public class Vampire {

        public static void main(String[] args) {
            System.out.printf("Please enter the length of the num : ");
            Scanner s = new Scanner(System.in);
            int x = s.nextInt();
            calVampire(x);
        }

        public static void calVampire(int n) {
            if (n % 2 != 0)
                return;
            else {
                int subLength = n / 2;
                int total = 0;
                int min = (int) Math.pow(10, subLength - 1);
                int max = (int) Math.pow(10, subLength) - 1;
                for (int p = min; p <= max; p++) {
                    for (int k = p + 1; k <= max; k++) {
                        int val = p * k;
                        if (val > 9999 || val < 1000)
                            continue;
                        String[] s1 = String.valueOf(val).split("");
                        String[] s2 = (String.valueOf(p) + String.valueOf(k))
                                .split("");
                        Arrays.sort(s1);
                        Arrays.sort(s2);
                        if (Arrays.equals(s1, s2)) {
                            total++;
                            System.out.println(p + " * " + k + "=" + val);
                        }
                    }
                }
                System.out.println("Total num is : " + total);
            }
        }

    }

  • 相关阅读:
    [转载]项目风险管理七种武器之引言
    [转载]基于TFS实践敏捷-Scrum模式运用
    [转载]基于TFS实践敏捷-工作项跟踪
    [转载]TFS入门指南
    SVN — subclipse操作指引
    Java 中 方法名或类名 变更 同时 更新 所有引用的 类名或方法名 的解决方案
    Java import javax.servlet 出错
    java 中 SVN 设置所有文件及子目录 needs-lock, svn 提交时自动设置 needs-lock, 及版本不一致问题
    vmware 传输(vmdb)错误-32:pipe:read failed 解决方法
    Web.xml配置详解
  • 原文地址:https://www.cnblogs.com/timelyxyz/p/2500974.html
Copyright © 2011-2022 走看看