Java编程思想第四版课后习题--经典

来源:互联网 发布:黑马程序员官网 编辑:程序博客网 时间:2024/05/21 17:37

第四章

  • 练习10:吸血鬼数字是指位数为偶数的数字,可以有一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字。以两个0结尾的数字是不允许的,例如一下吸血鬼数字:

    1260 = 21 * 60

    1827 = 21 * 87

    写一个程序找出4位数所有的吸血鬼数字。

    public class Vampire {public static void main(String[] args) {    String[] ar_str1, ar_str2;    for (int num = 1000; num <= 10000; num++) {//设定被除数为4位数        for (int divisor = 10; divisor < 100; divisor++) {//设定除数为两位数            int num1 = num / divisor;            int remainder = num % divisor;//余数            int remainder1 = divisor % 10;            int remainder2 = num1 % 10;            //判断是否为吸血鬼数字            if (remainder == 0 && (remainder1 != 0 || remainder2 != 0)) {//判断是否能够被整除,且两个除数末尾不全为0                ar_str1 = String.valueOf(num).split("");//把num拆分成单个字符                ar_str2 = (String.valueOf(num1) + String.valueOf(divisor)).split("");//把num1和divisor拆分成字符                java.util.Arrays.sort(ar_str1);//num排序                java.util.Arrays.sort(ar_str2);                if (java.util.Arrays.equals(ar_str1, ar_str2)) {//比较num是否和num1+divisor相同,如果相同打印,并终止内嵌的循环                    System.out.println(num + "=" + divisor + "*" + num1);                    break;                }            }        }    }}}
原创粉丝点击