【Java】 Thinking in Java 4.8 练习10 吸血鬼数字
来源:互联网 发布:java 源代码加密混淆 编辑:程序博客网 时间:2024/05/20 14:44
题目:
吸血鬼数字是指位数为偶数的数字,可以有一对数字相乘得到,而这对数字各包含成绩的一半位数的数字,其中从最初的数字中选取的数字可以任意排序。
以两个0结尾的数字是不允许的。写一个程序,找出4位数中所有吸血鬼数字。
方法一:
1 public static void main(String[] args) { 2 outer: for (int i = 10; i <= 99; i++) { 3 for (int j = i + 1; j <= 99; j++) { 4 int sum = i * j; 5 if (sum <= 9999 && sum >= 1000) { 6 String[] t1 = (sum + "").split(""); 7 Arrays.sort(t1); 8 String[] t2 = ("" + i + j).split(""); 9 Arrays.sort(t2);10 if (Arrays.equals(t1, t2)) {11 System.out.println(i + "*" + j + "=" + sum);12 }13 break outer;14 }15 }16 }17 }
方法二:
1 public static void main(String[] args) { 2 ArrayList<Integer> list = new ArrayList<Integer>(); // 提高效率所引用线性表 3 ArrayList<Integer> result = new ArrayList<Integer>(); // 防止结果集重复 4 boolean test = true; 5 boolean flag = false; 6 for (int i = 11; i < 99; i++) 7 for (int j = (1000 / i) + 1; j < 99; j++) { 8 list.clear(); 9 String str1 = new Integer(i * j).toString(); // 相乘后10 String str2 = String.valueOf(i) + String.valueOf(j);11 for (int m = 0; m < 4; m++) {12 for (int n = 0; n < 4; n++) {13 test = true;14 for (int x = 0; x < list.size(); x++)15 if (n == list.get(x))16 test = false; // 如果表中存在索引17 if (test == false)18 continue;19 if (str1.charAt(m) == str2.charAt(n)) {20 list.add(n);21 break;22 }23 }24 }25 if (list.size() == 4) {26 flag = true;27 for (int count = 0; count < result.size(); count++) {28 if (result.get(count) == i * j) {29 flag = false;30 }31 }32 if (flag != false) {33 System.out.println(i * j + "=" + i + "*" + j);34 result.add(i * j);35 }36 }37 }38 }
0 0
- 【Java】 Thinking in Java 4.8 练习10 吸血鬼数字
- Thinking in Java--吸血鬼数字
- [Thinking in Java]“吸血鬼”数字
- thinking in java test4.8练习(8)(9)(10)吸血鬼数字
- Thinking in java吸血鬼数字问题
- 吸血鬼数字的实现(thinking in java练习题)
- THINKING IN JAVA中吸血鬼数字题目的答案,稍作修改
- 吸血鬼数字,Java编程思想第四章练习10
- 【Java编程思想 - 练习】吸血鬼数字
- 【Java】 Thinking in Java 4.8 练习9
- Thinking in JAVA 习题练习
- THINKING IN java(实例练习)
- JAVA 吸血鬼数字学习
- 吸血鬼数字(java)
- Java - 吸血鬼数字
- java 吸血鬼数字
- Java 吸血鬼数字
- 吸血鬼数字(JAVA)
- 【Android】隐藏输入法
- 【Android】Activity启动模式
- 【Android】Android 调用已安装市场,进行软件评分的功能实现
- 【Java】 Thinking in Java 2-11 练习10
- 【Java】 Thinking in Java 4.8 练习9
- 【Java】 Thinking in Java 4.8 练习10 吸血鬼数字
- Android 获取包名,版本信息及VersionName名称
- 【Android】 tools:context【转】
- VIM命令【转载收藏】
- 参数文件修改
- 如何解决批处理文件一闪而过的现象
- 创业精神-昼夜奔袭,千里攻城拔寨
- Git客户端(Windows系统)的使用
- posters