什么吸血鬼数字????
吸血鬼数字是一个偶数,由两个数相乘而得,这两个乘数的数字组成了积的数字。
例如:1260 = 21 * 60 1827 = 21 * 87 2187 = 27 * 81
实现:
//此处列举的是2位的吸血鬼数字
public static void main(String[] args)
{
//用于存放吸血鬼数字
SortedSet<Integer> primes = new TreeSet<Integer>();
for(int i = 0; i <= 99; i++)
{
for(int j = 0; j <= 99; j++)
{
int sum = i * j;
if(sum <= 9999 && sum >= 1000)
{
char[] sumTochar = Integer.toString(sum).toCharArray();
Arrays.sort(sumTochar);//升序排列乘积
char[] ijTochar = (Integer.toString(i) + Integer.toString(j)).toCharArray();
Arrays.sort(ijTochar);//升序排列两个乘数字符
//判断是否为吸血鬼数字
if(String.copyValueOf(sumTochar).equals(String.copyValueOf(ijTochar)))
{
primes.add(sum);
}
}
}
}
//打印吸血鬼数字
for(int prime : primes)
{
System.out.print(prime + "\t");
}
输出:
1260 1395 1435 1530 1827 2187 6880