吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾的数字是不允许的。例如:1260 = 21 * 60 1827 = 21 * 87 2187 = 27 * 81
写一个程序,找出4位数的所有吸血鬼数字复制代码
- package com.guojun;
- //import java.util.Iterator;
- public class Vampire {
- /**
- * @param args
- */
- public static void main(String[] args) {
- for (int i = 1092; i < 9999; i++) {
- if ((i%100)==0) {
- continue;
- }
- int a=i/1000;
- int b=i/100-10*a;
- int c=i/10-100*a-b*10;
- int d=i%10;
- int[] vam={a,b,c,d};
- for(int x=0;x<vam.length;x++)
- {
- if (vam[x]==0) {
- continue;
- }
- for(int y=0;y<vam.length;y++)
- {
- if (x==y) {
- continue;
- }
- for(int z=0;z<vam.length;z++)
- {
- if (y==z||z==x||vam[z]==0) {
- continue;
- }
- for(int v=0;v<vam.length;v++)
- {
- if(z==v||z==x||z==y)
- continue;
- if((vam[x]*10+vam[y])*(vam[z]*10+vam[v])==i)
- {
- System.out.println("这是个吸血鬼数"+i);
- break;
- }
- }
- }
- }
- }
- }
- }
- }
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |