java编程思想魔鬼数字

穷举法
public class practice {
 public static void main(String[] args) {
  int a,b,c,d;
  index:for(int num=1000;num<=9999;num++) {
   a=num/1000;
   b=num/100%10;
   c=num/10%10;
   d=num%10;
   if(num%100!=0) {
     if((t(a)+b)*(t(c)+d)==num||(t(a)+b)*(c+t(d))==num||(a+t(b))*(t(c)+d)==num||(a+t(b))*(c+t(d))==num) {
      System.out.println(num);
      continue index;
     }else
      if((t(a)+c)*(t(d)+b)==num||(t(a)+c)*(d+t(b))==num||(a+t(c))*(t(d)+b)==num||(a+t(c))*(d+t(b))==num) {
      System.out.println(num);
      continue index;
     }else
      if((t(a)+d)*(t(c)+b)==num||(t(a)+d)*(c+t(b))==num||(a+t(d))*(t(c)+b)==num||(a+t(d))*(c+t(b))==num) {
      System.out.println(num);
      continue index;
     } 
   } 
  } 
 }
 private static int t(int a ) {
  return a*10;
  
 }
}

猜你喜欢

转载自www.cnblogs.com/wincoming/p/9989715.html