1.标题:填算式
请看下面的算式:
(ABCD - EFGH) * XY = 900
每个字母代表一个0~9的数字,不同字母代表不同数字,首位不能为0。
比如,(5012 - 4987) * 36 就是一个解。
请找到另一个解,并提交该解中 ABCD 所代表的整数。
请严格按照格式,通过浏览器提交答案。
注意:只提交 ABCD 所代表的整数,不要写其它附加内容,比如:说明性的文字
6048
public class test {
static int[] arr = {0,1,2,3,4,5,6,7,8,9};
public static void main(String[] args) {
dfs(0);
}
private static void dfs(int index) {
if(index==arr.length){
int A = 1000*arr[0]+100*arr[1]+10*arr[2]+arr[3];
int B = 1000*arr[4]+100*arr[5]+10*arr[6]+arr[7];
int C = 10*arr[8]+arr[9];
if((A-B)*C==900) {
System.out.println(A+"-"+B+" * "+C+"=="+900);
}
return;
}
for(int i=index;i<arr.length;i++){
swap(arr,index,i);
dfs(index+1);
swap(arr,i,index);
}
}
private static void swap(int[] arr, int i, int index) {
int t = arr[i];
arr[i] = arr[index];
arr[index] = t;
}
}