Java实现吸血鬼数字
- 题目描述:找出所有四位数的吸血鬼数字。
- 实验思路:
首先从吸血鬼数字本身考虑,则从1000遍历到9999。这需要找出每一个数字的是否存在对应的一对因子使之满足吸血鬼数字的条件,此方法工作量大且算法难以实现;同时对于一些特殊数字(如素数等),则浪费运算时间。故此从因子方面考虑。
所求范围是4位数,所以两因子均为两位数,即范围从10~99。将两者相乘得到的结果与两者本身进行相应的对比即可得到想要的结果。比较过程中,将两因子与结果数字转换为字符串并排序,最后进行比较,即可得到比较结果。
此种算法输出的结果会有一半的数字是重复的,所以先将结果保存在整型数组中,在转换为列表消去重复项进行输出。 - 代码:
在这里插入代import java.util.Arrays;
import java.util.TreeSet;
import java.util.Set;public class vampire_number {public static void main(String[] args) {int a1, a2, result;int[] results=new int [14];int i = 0;for(a1=10; a1<100; a1++) {for(a2=10; a2<100; a2++) {result = a1*a2;String[] a = String.valueOf(result).split("");String[] b = String.valueOf(a1+""+a2).split("");Arrays.sort(a);Arrays.sort(b);if(Arrays.equals(a, b))results[i++] = result; }}Set<Integer> set = new TreeSet<Integer>();for(int m:results)set.add(m);Integer[] results2 = set.toArray(new Integer[0]);System.out.println(Arrays.toString(results2));
}
}
码片
- 结果截图:
Java实现吸血鬼数字相关推荐
- Thinking in Java之吸血鬼数字
今天学习了Java的流程控制的内容,基本与C语言一样,只不过是Java多了foreach语句的一种用法,相对于C语言来说方便了很多.看了最后一道习题,是关于吸血鬼数字的,比较感兴趣于是就写了代码. ...
- java编程——吸血鬼数字(四位)
从<Thinking in Java>(中文第四版)中第4章的练习10看到"吸血鬼数字",特编程实现,以下为3种算法(针对四位数的)及其对比: 首先解释一下吸血鬼数字: ...
- java 吸血鬼数字_用java求吸血鬼数字 | 学步园
吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘得到,而这对数字各包含乘积的一 半位数的数字,其中从最初的数字中选取的数字可以任意排序.以2个0结尾的数字是不允许 的,例如,下列数字都是吸血鬼数字: ...
- java 吸血鬼数字_java编程思想之吸血鬼数字
我觉得×××,所以我来了. -------------------------- 吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中选取 ...
- java 4位数,java 找出4位数的所有吸血鬼数字
java 找出4位数的所有吸血鬼数字 /** * 找出四位数所有的吸血鬼数字 * 吸血鬼数字:位数为偶数的数字可以由一对数字相乘而得,这对数字包含乘积一半的位数 * 如:1260 = 21*60 */ ...
- 吸血鬼数字—THINKING IN JAVA中一道习题
import java.util.*;public class Test01 {public static void main(String[] args) {int num1, num2, prod ...
- java吸血鬼_4位吸血鬼数字的java实现思路与实例讲解
这个问题来源于java编程思想一书,所谓"吸血鬼数字"就是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数字,其中从偶数位数字中选取的数字可以任意排列. ...
- java手机游戏吸血鬼_Java 吸血鬼数字
private static void vampireNum() { // 官方参考答案 int[] startDigit = new int[4]; int[] productDigit = new ...
- java吸血鬼数字_吸血鬼数字的简单实现
从think in java上面看到的吸血鬼数字,自己写了一个简单的实现 package com.zyl; import java.util.ArrayList; import java.util.A ...
最新文章
- postman 使用_如何使用Postman实现数据驱动?
- 定义入栈java_Java堆和栈你敢说了解吗?看完这个文章再有底气说吧
- Markdown = PPT ?这个工具给力!
- python中常见的异常错误
- Android应用开发提高系列(4)——Android动态加载(上)——加载未安装APK中的类...
- Robotium编写测试用例如何模拟Junit4的BeforeClass和AfterClass方法1 - 条件判断法
- C++经典面试题汇总
- 未来科技计算机作文600字,未来科技发展_600字
- [小笔记]TypeScript/JavaScript数组转置
- IT兄弟连 JavaWeb教程 Servlet会话跟踪 Session优缺点
- 基于buck电路的小型永磁同步电机最大功率跟踪控制
- matlab两条曲线方程求交点_matlab中已知两曲线方程,怎样求两曲线交点并标注出?...
- 界面控件DotNetBar for WinForms使用教程:highlight组件使用教程
- ab st语言编程手册_AB-PLC自学笔记
- tibco linux安装手册,Tibco 产品安装手册.doc
- bootstrap表格标题Caption位于表格下方的原因
- 揭秘朋友圈发现的一个裂变引流套路
- 河南省周口市安吉软件测试培训中心第一次软件测试课程——软件测试期末考试(含答案)
- android 天气动画,为app制作炫酷天气动画 – WeatherView
- Java小白学习二十八——冒泡排序
热门文章
- Tomcat 部署多个SpringBoot 项目:ERROR org.springframework.boot.actuate.endpoint.jmx.EndpointMBeanExporter
- 亚马逊运营怎么做广告?六大方法!
- 查询至少具有两份工作员工的姓名和其公司名
- 发布会签到系统_系统开发_创建项目及应用
- 知乎7w阅读!五面阿里拿下飞猪事业部offer,月薪30K
- eclipse git 取远程代码_【JAVA】Eclipse中使用git进行pull远程代码
- 20121223-命令与征服全面变更
- Unity向量投影使用
- 简单的PHP登陆页面和登陆成功页面代码
- 今日网易邮箱126无法访问