算法分析:
总共4个数字a,b,c,d
那么需要三条算式 运算三次 判断结果是否为24
第一步:循环从 a b c d 取两个数做+ - * / 四次运算 剩下新的 a b c 三个数
第二步:循环从 a b c 取两个数做+ - * / 四次运算 剩下新的 a b 两个数
第三步:循环从 a b 取两个数做+ - * / 四次运算 判断结果是否为24
算法缺点:
这样出来的解法会有重复的算式,也就是说同一条算式,却出来了不同的解法
举个例子
(a+b)/ (c*d)
我的算法会产生两种同样的解法:
①
a+b=x
c*d=y
x/y=z
②
c*d=x
a+b=y
x/y=z
算法优点
节省我们实际现实看牌的时间
这样的解法很符合我们实际的拍牌解答的过程
如果输出一条含有括号的、复杂一点的算式 我们实际看起来也还得想一想先拍哪两张牌
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<windows.h>
char sign[3]; //三条式子的三个符号
int n[3