zoukankan      html  css  js  c++  java
  • 吸血鬼数解题思路

    《Java编程思想》中有这样一道题:

    • 吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到。而这两位数字必须包含乘积的所有数字(顺序可以任意排序),能够被100整除的数是不允许的:

    例如以下都是吸血鬼:

    1260=21*60

    1827=21*81

    2187=27*81

    那我们来分析一下题:

    给了我们以下几个有用的条件:

    • 由两位数相乘而得到并且包含乘积的所有数,说明乘积必须为4位(那范围必须在1000到9999之间)
    • 不能被100整除

    既然是两位数字相乘而得到那么范围就控制在:10~99,必须包含乘积的所有数字那么就表示乘积和这两对数一定要相同,这里我们可以用数组来进行比较。

    我们来看一下代码实现

    package com.itheima.test;
    
    import java.util.Arrays;
    
    
    public class Mian {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            for (int i = 10; i <100; i++) {
                //i表示第一个两位数
                for (int j = 10; j < 100; j++) {
                    //j表示第二个两位数
                    int product=i*j;
                    //获得乘积
                    if(product%100!=0&&product>999&&product<10000) {
                        //过滤条件:1不能被100整除2必须是4位数
                        String[] value1=String.valueOf(product).split("");
                        //把乘积转换为字符串,然后在以空格分割为数组
                        String[] value2=(String.valueOf(i)+String.valueOf(j)).split("");
                        //把两位数相连接为字符串,然后在以空格分割为数组
                        Arrays.sort(value1);
                        //排序一下从小到大
                        Arrays.sort(value2);
                        //排序一下从小到大
                        if (Arrays.equals(value1, value2)) {
                            //调用Arrays中的静态方法equals进行比较
                            System.out.println(i+"*"+j+"="+product);
                            //打印吸血鬼数
                        }
                    }
                }
            }
        }
    
    }

    这个题就做完啦,就是那么简单

    你不会的东西,觉得难的东西,一定不要躲。先搞明白,后精湛,你就比别人优秀了。因为大部分人都不舍得花力气去钻研,自动淘汰,所以你执着的努力,就占了大便宜。奋斗就是每一天都很难,可一年比一年容易。不奋斗就是每一天都很容易,可一年比一年越难。怕吃苦的人吃苦一辈子,不怕吃苦的人吃苦一阵子。拼一个春夏秋冬,赢一个无悔人生
  • 相关阅读:
    第三章感想
    第二章感想
    第一章感想
    第9章 硬件抽象层:HAL
    第10章 嵌入式linux的调试技术
    第8章 蜂鸣器驱动
    第七章 I/O
    第六章 编写Linux驱动程序
    第五章 S3C6410
    源代码的下载和编译
  • 原文地址:https://www.cnblogs.com/ahJava/p/9840312.html
Copyright © 2011-2022 走看看