java實現代碼:
import java.util.Scanner;
public class equation {
public static void main(String[] args) {
// TODO Auto-generated method stub
// String string = "123+4+5+67-89";
Scanner console = new Scanner(System.in);
int a= console.nextInt();
int count=0;
char [] array = { ' ', '+', '-' };
char num[] = { '1', '2', '3', '4', '5', '6', '7', '8', '9' };
for (char x1 : array)
for (char x2 : array)
for (char x3 : array)
for (char x4 : array)
for (char x5 : array)
for (char x6 : array)
for (char x7 : array)
for (char x8 : array) {
int result = 0;
char s[] = { x1, x2, x3, x4, x5, x6,
x7, x8 };
String string = "";
for (int i = 0; i <= 7; i++) {
string = string + num[i] + s[i];
}
string = string + num[8];
string = string.replaceAll(" ", "");
String[] add = string.split("\\+");
int sum = 0;
for (String t : add) {
String[] sub = t.split("-");
int num1 = Integer.parseInt(sub[0]);
// 計算負數
for (int i = 1; i < sub.length; i++) {
num1 -= Integer.parseInt(sub[i]);
}
sum += num1; // 正數或負數結果 加到 總和上
}
if (sum == a) {
System.out.println(string + "=" + a);
count++;
}
}
System.out.println("個數是"+count);
}
}