问题描述:
吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘得到,这对数字个包含乘积的一半位数的数字,数字选取后可任意排序。例如,下列数字都是“吸血鬼”数字:
1260 = 21 x 60
1827 = 21 x 87
2187 = 27 x 81
写出一个程序,找出4位数的所有吸血鬼数字。
该代码以Two19为主类,故应创建一个Two19.java文件或将主类( public class )名称修改使文件名与主类名相同
public class Two19 {
public static void main(String[] args){
for(int a=10;a<100;a++)
{
for(int b=a;b<100;b++)
{
if(a*b>1000&&a*b<10000)
{//一对两位数的乘积为四位数
int n=a*b;
int t=n,x=a,y=b;
int[] m=new int[4];
int[] s=new int[4];
for(int i=0;i<4;i++)
{
m[i]=t%10;
t=t/10;
if(i<2)
{
s[i]=x%10;
x=x/10;
}
else
{
s[i]=y%10;
y=y/10;
}
}//将乘积与这一对两位数的各个数字分别存到两个数组
int k=0;
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
if(m[i]==s[j])
{
k++;
s[j]=-1;
break;
}
}
}//将两个数组进行比较
if(k==4) System.out.println(a+"*"+b+"="+n);//满足吸血鬼数字条件即输出
}
}
}
}
}