首页 > 技术文章 > 【Java】求所有四位吸血鬼数字

ieybl 2017-04-07 11:49 原文

 1 package com.xt.homework.tools;
 2 /**
 3  * 
 4  * 7. 题目 
 5  * 吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘得到,
 6  * 而这对数字的位数是原数字的一半位数,并且由组成原数字的各个位数组成,
 7  * 以两个0结尾的数字不是吸血鬼数字。
 8  * 例如:1260 = 21 * 60    1827 = 21 * 87    2187= 27 * 81 
 9  * 求所有四位吸血鬼数字
10  * 
11  * @author 天耀二期
12  *              杨勃隆
13  */
14 public class HomeWork07 {
15     public static void main(String[] args){
16         for (int i = 1000; i <= 9999;i++)
17 {
18         int a = (int)(i/1000); //千位数字
19         int b = (int)((i - a*1000)/100); //百位数字
20         int c = (int)((i-((int)(i/100))*100)/10); //十位数字
21         int d = (int)(i - ((int)(i/10))*10); //个位数字
22         if(c==0&&d==0)
23             continue;
24         if((10*a+d)*(10*c+b)==i||(10*b+a)*(10*c+d)==i||
25         (10*b+a)*(10*d+c)==i||(10*b+d)*(10*c+a)==i||
26         (10*c+a)*(10*d+b)==i||(10*c+b)*(10*d+a)==i){
27             System.out.println(i);
28             }        
29         }
30     }
31 }


 


 真的想不出好办法了,有大神有简单方法请贴到评论区谢谢!

推荐阅读