寒假作业

来源:互联网 发布:flotherm软件英文翻译 编辑:程序博客网 时间:2024/04/30 08:41


寒假作业


现在小学的数学题目也不是那么好玩的。
看看这个寒假作业:


   □ + □ = □
   □ - □ = □
   □ × □ = □
   □ ÷ □ = □
   
   (如果显示不出来,可以参见【图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


就算两种解法。(加法,乘法交换律后算不同的方案)
 
你一共找到了多少种方案?




请填写表示方案数目的整数。

注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。(答案:64)


#include<stdio.h>#include<string.h>int count=0;void fun(int vis[],int arr[],int start,int end){if(start>end){if(arr[0]+arr[1]==arr[2] && arr[3]-arr[4]==arr[5]){if(arr[6]*arr[7]==arr[8] && arr[10]*arr[11]==arr[9]){for(int i=0;i<=11;i++){printf("%d ",arr[i]);}printf("\n");count++;}}}else{for(int i=1;i<=13;i++){if(vis[i]==0){vis[i]=1;arr[start]=i;fun(vis,arr,start+1,end);vis[i]=0;}}}}int main(){int vis[14];int arr[14];memset(vis,0,sizeof(vis));memset(arr,0,sizeof(arr));fun(vis,arr,0,12);printf("%d\n",count);return 0;}



1 0