JAVA小练习(二)
一、题目描述
1-9任意一个数字实现 ABC + DEF = GHI,其中ABCDEFGHI为不相同的0~9数字之一;
列出实现的式子和个数
二、实现代码如下:
public class Dome {
public static void main(String[] args) {
System.out.println("\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\");
System.out.println("1-9任意一个数字实现 ABC + DEF = GHI; 列出实现的式子和个数");
fun(1);
System.out.println("所得式子个数: " + count);
}
static int [] arr = new int[10];
static int [] result = new int[10];
static int step_total = 10;
static int count = 0;
public static void fun(int step) {
if (step >= step_total) {
int ABC = Integer.parseInt("" + arr[1] + arr[2] + arr[3]);
int DEF = Integer.parseInt("" + arr[4] + arr[5] + arr[6]);
int GHI = Integer.parseInt("" + arr[7] + arr[8] + arr[9]);
if (ABC + DEF == GHI) {
System.out.println(arr[1] + arr[2]+ arr[3] + "+"
+ arr[4] + arr[5] + arr[6] + "=" + arr[7]+ arr[8]+arr[9]);
count ++;
return;
}
}
for (int i = 1; i < step_total; i++) {
if (result[i] == 0) {
result[i] = 1;
arr[step++] = i;
fun(step);
result[i] = 0;
}
}
}
}