如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
用Java编程解吸血鬼数字问题问题:吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾的数字是不允许的,例如,下列数字都是吸血鬼数字:1260=21*601827=21*872187=27*81写一个程序,找出4位数的所有吸血鬼数字。//:c4/exercise10.java//是《JAVA编程思想》一书中的一个练习,所以将文件夹和文件名定为c4/exercise10.javapublicclassexercise10{//test方法检验数字是否为吸血鬼数字staticbooleantest(intnum){Integerintnum=newInteger(num);Stringstr=intnum.toString();char[]c=str.toCharArray();char[]cc=newchar[4];booleanb=false;la:for(inti=0;i<4;i++){cc[0]=c[i];for(inti1=0;i1<4;i1++){if(i1==i)continue;cc[1]=c[i1];for(inti2=0;i2<4;i2++){if(i2==i||i2==i1)continue;cc[2]=c[i2];for(inti3=0;i3<4;i3++){if(i3==i||i3==i1||i3==i2)continue;cc[3]=c[i3];char[]chnum1={cc[0],cc[1]},chnum2={cc[2],cc[3]};Stringcnum1=newString(chnum1),cnum2=newString(chnum2);Integerinum1=newInteger(cnum1),inum2=newInteger(cnum2);intnum1=inum1.intValue(),num2=inum2.intValue();if(num==num1*num2){b=true;breakla;}}}}}returnb;}publicstaticvoidmain(String[]args){for(inti=1000;i<10000;i++){if(i%100==0)continue;elseif(test(i))System.out.print(i+",");}}}///:~运行结果为:1260,1395,1435,1530,1827,2187,6880