吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾数字是不允许的,例如,下面数字都是“吸血鬼”数字:
1260=21*60;
1827=21*87;
2187=27*81;
写一个程序,找出4位数的所有吸血鬼数字?菜鸟求高手解答。。
1260=21*60;
1827=21*87;
2187=27*81;
写一个程序,找出4位数的所有吸血鬼数字?菜鸟求高手解答。。
解决方案 »
- 大家帮忙分析下关于Vector迭代器出现的一个异常怎么解决,这个异常是有时候出现有时候不出现比较头痛
- ==JTable 如何在表头上加右键菜单,注意不是数据行加,谢谢==
- 关于 ClassCastexception 刚学,指导下
- 往数据库中的datetime型字段出错的问题!
- java操作ORACLE
- 如何在java代码中改变Solaris操作系统上文件的创建用户名,组,和文件属性
- 日期转换的问题,请各位帮忙!
- 怎么在JAVA下用猫语?
- 谁能把速度给我提上去,我。。。
- (哪有IBM Visual Age for Java v4.0(3.5)【Enterprise】的下载!!)
- java中加入动态图片
- 吸血鬼数字
public static void main(String[] args) {
for(int i = 1000;i<9999;i++){
int t = (i/100)*(i%100);
if(t>1000 & t < 9999){
if(sort(t)==sort(i)){
System.out.println(i/100+"*"+i%100+"="+t);
}
}
}
}
public static int sort(int i){
int[] sort = new int[String.valueOf(i).length()];
int k = 0;
do{
sort[k++]=i%10;
}while((i/=10) != 0);
Arrays.sort(sort);
int sum = 0;
for(int t:sort){
sum=(sum*10+t);
}
return sum;
}
}
import java.util.Collections;public class Foo {
public static void main(String []args)
{
int i;
int j;
int temp;
for(i=10;i<100;i++)
{
for(j=10;j<100;j++)
{
ArrayList<Character> mylist_1=new ArrayList<Character>();
ArrayList<Character> mylist_2=new ArrayList<Character>();
if(((i%10==0)&&(j%10==0))||((i*j)<1000))
{
continue;
}
temp=i*j;
for(int k=0;k<4;k++)
{
mylist_1.add((String.valueOf(temp)).charAt(k));
}
Collections.sort(mylist_1,null);
for(int k=0;k<2;k++)
{
mylist_2.add((String.valueOf(i)).charAt(k));
mylist_2.add((String.valueOf(j)).charAt(k));
}
Collections.sort(mylist_2,null);
if(mylist_1.equals(mylist_2))
{
System.out.println(i+" * "+j+" = "+temp);
}
}
}
}
}results:
15 * 93 = 1395
21 * 60 = 1260
21 * 87 = 1827
27 * 81 = 2187
30 * 51 = 1530
35 * 41 = 1435
41 * 35 = 1435
51 * 30 = 1530
60 * 21 = 1260
80 * 86 = 6880
81 * 27 = 2187
86 * 80 = 6880
87 * 21 = 1827
93 * 15 = 1395