java实现寄生虫数字,13ms(新手)
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中的0 int 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); } }