从think in java上面看到的吸血鬼数字,自己写了一个简单的实现
package com.zyl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* think in java 吸血鬼数字
*/
public class Vampire {
public static void main(String[] args) {
for (int i = 1000; i <= 9998; i=i+1) {
if (i % 100 == 0) {
continue;
}
String str = i+"";
List array = new ArrayList(Arrays.asList(str.split("")));//分成一个一个数字
for (int m = 0; m < array.size(); m++) {
for(int n = 0; n < array.size(); n++) {
if(n==m) {
continue;
}
int num1 = Integer.parseInt(array.get(m)+"" +array.get(n));//第一个两位数
if (num1 < 10) {
continue;
}
for (int l = 0; l < array.size(); l++) {
if(l==m || l==n) {
continue;
}
for (int k=0; k < array.size(); k ++) {
if(k==m || k==n || k==l) {
continue;
}
int num2 = Integer.parseInt(array.get(l)+""+(array.get(k)));//第二个两位数
if (i == num1 * num2) {
System.out.println(i+"="+num1+"*"+num2);
}
}
}
}
}
}
}
}