java----找出四位数的所有吸血鬼数字

本文介绍了一个使用Java编程找出所有四位吸血鬼数字的方法。通过代码实现,展示了如何遍历和判断符合吸血鬼数字条件的四位数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.util.Arrays;
/**
 * 题目:编写程序,找出四位数的所有吸血鬼数字
 * 吸血鬼数字:吸血鬼数字是指位数为偶数的数字,可由一对数字相乘而得到,这对数字各包含乘积的一半位数的数字,以两个0结尾的数字是不允许的
 * 下列数字都是吸血鬼数字:
 * 1206 = 21*60
 * 1827 = 21*87
 * 2187 = 27*81
 *
 */
public class SearchVampireNumber {
    public static void main(String[] args) {
        searchVampireNumber();
    }
    /*
     * 找出四位数的所有吸血鬼数字
     */
    public static void searchVampireNumber() {
        String[] fourNum = null;//用于保存四位数
        String[] twoNum = null;//用于保存两个两位数
        int sum = 0;//吸血鬼数字的总个数

        for(int i=10;i<100;i++) {//遍历所有的两位数乘以两位数
            for(int j=i;j<100;j++) {

                int product = i*j;
                if(product<1000 || product>9999 || String.valueOf(product).endsWith("00")) {//不为四位数或者以00结尾不满足题目要求
                    continue;
                }
                fourNum = String.valueOf(product).split("");//将四位数转换为字符串,再分割为字符串数组
                twoNum = (String.valueOf(i) + String.valueOf(j)).split("");//将两个两位数转换为字符串,拼接为一个字符串,再分割
                Arrays.sort(fourNum);//将数组排序
                Arrays.sort(twoNum);
                if(Arrays.equals(fourNum,twoNum)) {//比较两个数组是否相同
                    sum++;//数组相同,满足题意,总个数加一
                    System.out.println(product+"="+i+"*"+j);
                }
            }
        }
        System.out.println("总共有:"+sum+"个四位数的吸血鬼数字");
    }

}

运行结果:

1395=15*93
1260=21*60
1827=21*87
2187=27*81
1530=30*51
1435=35*41
6880=80*86
总共有:7个四位数的吸血鬼数字
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值