7563怎样2379算24点点

版权声明:本文为博主原创文章未经博主允许不得转载。 /qq_/article/details/

大家都玩过24点的游戏吧这里介绍一种24点游戏的解法,用穷举法来搜索出24点的所有解

     .给定4个1-9的整数,对它们進行四则运算寻找能得到24点的表达式,注意数的位置不能改变

64种可能的解,把运算规则全穷举出来实际上并不复杂关键是如何穷举。我们可以用3个整形变量来表示运算符号用它们的值1234来表示+-*/,这样用3个for循环就可以穷举出所有解了另外考虑到乘除法和加减法混合的運算顺序问题,需要判断运算优先级用计算模型的函数来表示,有以下4种可能([]表示符号o表示数字)

我们可以用引入乘除法符号的个數多少来考虑相应的运算优先级

    以上规则不变,再加规则:可以用括号任意改变其优先级

     并且其运算不再依赖于乘除法的优先级高于加减法而是由小括号决定,所以我们为了简化算法在每一种情况下加上小括号,源程序如下

    (1)如果可以改变4个数字的顺序,算法应该如何妀

    (2)如何简化加括号之后的算法?(加括号之后有4*4*4*5=320种情况实际上有许多重复的情况可以简化)

我要回帖

更多关于 算24点 的文章

 

随机推荐