Java学习-练习1
题目描述:
吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,
而这对数字各包含乘积的一半位数的数字,其中最初的数字中可以
选取的数字可以任意排序,以两个0结尾的数字是不允许的,例如,下
面的数字都是吸血鬼数字:
1260=21*60
1827=21*87
2187=27*81
编写一个程序,找出4位数的所有吸血鬼数字。
package chapter3_Ex10;
public class Vampire {
public static void main(String[] args){
int[] startDigit=new int[4];
int[] productDigit=new int[4];
for(int num1=10;num1<100;++num1){
for(int num2=num1;num2<100;++num2){
if((num1*num2)%9 != (num1+num2)%9)
continue;
int product=num1*num2;
startDigit[0]=num1/10;
startDigit[1]=num1%10;
startDigit[2]=num2/10;
startDigit[3]=num2%10;
productDigit[0]=product/1000;
productDigit[1]=product%1000/100;
productDigit[2]=product%1000%100/10;
productDigit[3]=product%1000%100%10;
int count=0;
for(int i=0;i<4;++i){
for(int j=0;j<4;j++){
if(startDigit[i]==productDigit[j]){
++count;
startDigit[i]=-1;
productDigit[j]=-2;
}
}
}
if(count==4){
System.out.println(num1+" * "+num2+" = "+product);
}
}
}
}
}
运行结果:
aaarticlea/png;base64,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" alt="" width="442" height="157" />
Java学习-练习1的更多相关文章
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
- 分享篇——我的Java学习路线
虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- Java学习心得之 HttpClient的GET和POST请求
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 HttpClient的GET和POST请求 1. 前言2. GET请求3 ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
- 0025 Java学习笔记-面向对象-final修饰符、不可变类
final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
随机推荐
- FMDB用法
iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepers ...
- ORA-01653:表无法通过64(在表空间USERS中)扩展
问题描述:oracle插入数据时显示ORA-01653 表无法通过64(在表空间USERS中)扩展 原因: oracle 表空间满了,需要扩展 截图: 解决方法: 1.首先查下表空间 select ...
- 任何时候都适用的20个C++技巧
这些小技巧之所以特别,是因为这些信息通常吧不能在C++书籍或者网站上找到.比如说,成员指针,即使对于高级程序员也是比较棘手,和易于产生bugs的,是应该尽量避免的问题之一. <翻 by凌云健笔& ...
- 【思考题】CSDN第四届在线编程大赛2014初赛:带通配符的数
题目要求: 输入参数:参数A,含有任意个数的?的数值字符串,如:12?4,?代表一位任意数 参数B,不含?的数值字符串,长度与参数A一致 输出结果:参数A比参数 ...
- spring 定时任务(3)--配置多个定时任务
<!-- 定义调用对象和调用对象的方法 --> <!-- 定时任务 A start --> <bean id="jobtask" class=&quo ...
- 定义file input
<div class="inputFileWrapper"> <label for="inputFile"> <input typ ...
- Mysql数据库启动
1.改变数据库的访问ip: vim /etc/mysql/my.cnf 找到下面选项: bind-address = 192.168.1.128 修改即可. 2.mysql启动命 ...
- JVM系列文章(三):Class文件内容解析
作为一个程序猿,只知道怎么用是远远不够的.起码,你须要知道为什么能够这么用.即我们所谓底层的东西. 那究竟什么是底层呢?我认为这不能一概而论.以我如今的知识水平而言:对于Web开发人员,TCP/IP. ...
- 为什么Underscore
Underscore是什么? Underscore一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象.它是这个问题的答案:“如果我在一个空白 ...
- ThInkPHP中的常量
除了常规变量的输出外,模板引擎还支持系统变量和系统常量.以及系统特殊变量的输出.它们的输出不需要事先赋值给某个模板变量.系统变量的输出必须以$Think.打头,并且仍然可以支持使用函数.常用的系统变量 ...