有时,将数据的比较转换成字符串比较会更加直观
有时候,将数据的比较转换成字符串比较会更加直观
有时候,将数据的比较转换成字符串比较会更加直观。
请大家看下面的例子--实现吸血鬼数。
所谓“吸血鬼数字”就是指位数为偶数的数字),可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数字。
输出结果:
第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
转载请注明:http://www.wangmengjun.com/showArticleDetail.do?articleId=40
有时候,将数据的比较转换成字符串比较会更加直观。
请大家看下面的例子--实现吸血鬼数。
所谓“吸血鬼数字”就是指位数为偶数的数字),可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数字。
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
转载请注明:http://www.wangmengjun.com/showArticleDetail.do?articleId=40
1 楼
tjj006
昨天
这个东东没神马用处吧……
2 楼
healer_kx
昨天
是的,以前我们玩GWBasic的时候也是这么干的。