有时候,将数据的比较转换成字符串比较会更加直观

本文提供了一个Java实现的吸血鬼数示例代码,通过字符串比较来判断四位数是否为吸血鬼数,并输出所有符合条件的组合。

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

有时候,将数据的比较转换成字符串比较会更加直观。

请大家看下面的例子--实现[b]吸血鬼数[/b]。



所谓“[b]吸血鬼数字[/b]”就是指位数为偶数的数字),可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数字。

package my.example.numbers;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
*
* @author Eric
*
*/
public class VampireNumberExample1 {
public static void main(String[] args) {

/**
* 为了能够是去除相同的吸血鬼数。 比如: 21 x 60 = 1260 = 60 x 21
*
*/
List<Integer> uniqueVampireNumber = new ArrayList<Integer>();

for (int i = 10; i <= 99; i++) {
for (int j = 10; j <= 99; j++) {
int sum = i * j;
if (sum >= 1000 && sum <= 9999) {
String[] str = String.valueOf(sum).split("");
Arrays.sort(str); // 按照字符的升序排列
String[] str1 = (String.valueOf(i) + String.valueOf(j))
.split("");
Arrays.sort(str1); // 对两个Arrays进行比较
if (Arrays.equals(str, str1)) {
if (!uniqueVampireNumber.contains(sum)) {
uniqueVampireNumber.add(sum);
System.out.printf("第%d组:%d + %d = %d\n",
uniqueVampireNumber.size(), i, j, sum);
}
}
}
}
}
}
}


输出结果:
第1组:15 + 93 = 1395
第2组:21 + 60 = 1260
第3组:21 + 87 = 1827
第4组:27 + 81 = 2187
第5组:30 + 51 = 1530
第6组:35 + 41 = 1435
第7组:80 + 86 = 6880

转载请注明:[url]http://www.wangmengjun.com/showArticleDetail.do?articleId=40[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值