首页 > 编程 > Java > 正文

2016年蓝桥杯A组java第六题

2019-11-08 02:26:34
字体:
来源:转载
供稿:网友
/** * @author Administrator寒假作业现在小学的数学题目也不是那么好玩的。看看这个寒假作业:   □ + □ = □   □ - □ = □   □ × □ = □   □ ÷ □ = □      (如果显示不出来,可以参见【图1.jpg】)   每个方块代表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 hanJiaZuoYe {      public static int total = 0;      public static void swap(int[] str, int i, int j)      {          int temp ;          temp = str[i];          str[i] = str[j];          str[j] = temp;      }      public static void arrange (int[] str, int st, int len)      {          if (st == len - 1)          {              if((str[1]+str[0]==str[2])&&(str[3]-str[4]==str[5])&&(str[6]*str[7]==str[8])&&            (str[9]/str[10]==str[11])&&(str[9]%str[10]==0)){            for (int i = 0; i < len; i ++)                      {             System.out.PRint(str[i]+ "  ");                }            System.out.println();              total++;              }          }          else          {              for (int i = st; i < len; i ++)              {                  swap(str, st, i);                  arrange(str, st + 1, len);                  swap(str, st, i);              }          }                }      /**      * @param args      */      public static void main(String[] args) {          // TODO Auto-generated method stub           int str[] = {1,2,3,4,5,6,7,8,9,10,11,12,13};           arrange(str, 0, str.length);           System.out.println(total);      }  }  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表