java实现吸血鬼数字,13ms(新手)
吸血鬼数字就不介绍了,这是自己写的一个程序
public class VampireNum {public static void printVamNum(){Integer n = new Integer(1000);int[] arrs = new int[4];int a,b1,b2,res1,res2;for(n=1000;n<10000;n++){String str1 = n.toString();for(int i=0,l=str1.length();i<l;i++){//减去48是为了将char值与int值匹配,char中的48即为int中的0int x = ((int)str1.charAt(i))-48;arrs[i] = x;}for(int i =0,l = arrs.length;i<l;i++){for(int j=i+1;j<l;j++){a = arrs[i]*10+arrs[j];if(i==0&&j==3){b1=arrs[1]*10+arrs[2];b2=arrs[2]*10+arrs[1];}else if(i==1&&j==2) {b1 = arrs[0]*10+arrs[3];b2 = arrs[3]*10+arrs[0];} else {//要取出数组中剩余的值b1 = arrs[l-1-i]*10+arrs[l-1-j];b2 = arrs[l-1-j]*10+arrs[l-1-i];}res1 = a*b1;res2 = a*b2;if(res1==n) {System.out.println(a+"*"+b1+"="+n);}if(res2==n) {System.out.println(a+"*"+b2+"="+n);}}}}}public static void main(String[] args) {long begin = new Date().getTime();VampireNum.printVamNum();long after = new Date().getTime();System.out.println(after-begin);}}?