现在小学的数学题目也不是那么好玩的。看看这个寒假作业:
□ + □ = □
□ - □ = □
□ × □ = □
□ ÷ □ = □
每个方块代表 1~13 中的某一个数,但不能重复。比如:
6 + 7 = 13
9 - 8 = 1
3 * 4 = 12
10 / 2 = 5
以及:
7 + 6 = 13
9 - 8 = 1
3 * 4 = 12
10 / 2 = 5
就算两种解法。(加法,乘法交换律后算不同的方案)你一共找到了多少种方案?请
填写表示方案数目的整数。
□ + □ = □
□ - □ = □
□ × □ = □
□ ÷ □ = □
每个方块代表 1~13 中的某一个数,但不能重复。比如:
6 + 7 = 13
9 - 8 = 1
3 * 4 = 12
10 / 2 = 5
以及:
7 + 6 = 13
9 - 8 = 1
3 * 4 = 12
10 / 2 = 5
就算两种解法。(加法,乘法交换律后算不同的方案)你一共找到了多少种方案?请
填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
代码如下:
public class Main02 {
private static int[] a = {1,2,3,4,5,6,7,8,9,10,11,12,13};
private static int sum = 0;
public static void main(String[] args){
fun(0);
System.out.println(sum);
}
private static void fun(int k){
if(k == a.length){
text(a);
return;
}else{
for(int i=k;i<a.length;i++){
int t = a[i];
a[i] = a[k];
a[k] = t;
fun(k+1);
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
}
private static void text(int b[]){
int a1 = b[1]+b[2];
int a2 = b[4]-b[5];
int a3 = b[7]*b[8];
int a4 = b[11]*b[12];
if(a1==b[3]&&a2==b[6]&&a3==b[9]&&a4==b[10]){
sum++;
}
}
}