个人新理解24点算法,请大家来点评
比如四个数3 4 1 2 符号+ - * /算法核心思想:
不考虑运算的优先级问题。也不考虑初始时给的数的顺序。只考虑两个数之间的运算先后问题。有以下几种情况
1. res=3 op 4, res=res op 1, res op 2 即((3 op 4) op 1 ) op 2;
2. res=3 op 4, res1=1 op 2, res op res 1 即 ( 3 op 4 ) op ( 1 op 2)
3. res=4 op 1, res= 3 op res, res op 2 即 3 op (4 op 1) op 2;
4. res=4 op 1, res= res op 2, 3 op res 即 3 op ( (4 op 1) op 2 );
5. res=1 op 2, res= 4 op res, 3 op res 即 3 op ( 4 op ( 1 op 2 ) );
就想到这么几种,有没有漏的,请大家指出。反正这情况是有数的,应该大概就这么几种。
接下来对符号进行全排序,按照以上弄的计算顺序进行计算。计算完成之后,输出
输出的时候,把括号添加上。
算法缺点: 属于暴利破解。而且输出的式子,一律是靠括号来却别运算顺序的。
我只能想到这里了。不过估计这样的算法很容易实现的说。。。