package com;
import java.util.Scanner;
public class TwentyFour {
int[] can = new int[4];
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入 0--9 之间的一个不同整数:");
int a1 = input.nextInt();
System.out.print("请输入 0--9 之间的一个不同整数:");
int a2 = input.nextInt();
System.out.print("请输入 0--9 之间的一个不同整数:");
int a3 = input.nextInt();
System.out.print("请输入 0--9 之间的一个不同整数:");
int a4 = input.nextInt();
for(int i=0;i<80;i++){
System.out.print("*");
}
System.out.println();
System.out.println("结果如下列表:");
System.out.println();
TwentyFour tf = new TwentyFour(a1, a2, a3, a4);
tf.getResult();
}
public TwentyFour(int a, int b, int c, int d) {
can[0] = a;
can[1] = b;
can[2] = c;
can[3] = d;
}
public void getResult() {
double result1 = 0;
double result2 = 0;
double result3 = 0;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
for (int k = 0; k < 4; k++) {
if (i != j) {
result1 = cal(can[i], can[j], k);
for (int l = 0; l < 4; l++) {
for (int m = 0; m < 4; m++) {
if (i != l && j != l) {
result2 = cal(result1, can[l], m);
for (int n = 0; n < 4; n++) {
for (int o = 0; o < 4; o++) {
if (i != n && j != n && l != n) {
result3 = cal(result2, can[n],o);
if (result3 == 24) {
System.out.println(result3+
"="+
result(can[i],
k,can[j],
m,can[l], o,can[n]));
}
}
}
}
}
}
}
}
}
}
}
}
private String result(int can1, int op1, int can2, int op2, int can3,
int op3, int can4) {
return "" + "[" + "(" + can1 + convert(op1) + can2 + ")" + convert(op2)
+ can3 + "]" + convert(op3) + can4;
}
private String convert(int opr) {
if (opr == 0) {
return "+";
} else if (opr == 1) {
return "-";
} else if (opr == 2) {
return "*";
} else if (opr == 3) {
return "/";
}
return "";
}
private double cal(double a, double b, int opr) {
if (opr == 0) {
return a + b;
} else if (opr == 1) {
return a - b;
} else if (opr == 2) {
return a * b;
} else if (opr == 3) {
return a / b;
}
return 0;
}
}