吸血鬼数字是指尾数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中选取的数字可以任意排序,以两个0结尾的数字是不被允许的,例如:下列数字是吸血鬼数字:
1260=21 *60
1827=21*87
2187=27* 81
写一个程序,找出所有的吸血鬼数字
1260=21 *60
1827=21*87
2187=27* 81
写一个程序,找出所有的吸血鬼数字
调试欢乐多
"写一个程序,找出4位数的所有吸血鬼数字"-----出自第四版..import java.util.*;public class VampireNumber {
public static void findVampireNumber(){
String[] str1,str2;
for(int i = 10; i <100 ; i++)
for(int j = i+1; j<100 ; j++){
int prod = i * j;
if(prod < 9999 && prod > 1000){
str1=String.valueOf(prod).split("");
str2=(String.valueOf(i)+String.valueOf(j)).split("");
Arrays.sort(str1);
Arrays.sort(str2);
if(Arrays.equals(str1,str2))
System.out.println(prod+" = "+i+" * "+j);
}
}
}
public static void main(String[] args){
findVampireNumber();
}
}
很容易理解了..就懒得写注释了= =...
主要算法是将数字转为字符然后排序后比较..