2926什么意思怎么算成24点

点击文档标签更多精品内容等伱发现~


VIP专享文档是百度文库认证用户/机构上传的专业性文档,文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特權免费下载VIP专享文档只要带有以下“VIP专享文档”标识的文档便是该类文档。

VIP免费文档是特定的一类共享文档会员用户可以免费随意获取,非会员用户需要消耗下载券/积分获取只要带有以下“VIP免费文档”标识的文档便是该类文档。

VIP专享8折文档是特定的一类付费文档会員用户可以通过设定价的8折获取,非会员用户需要原价获取只要带有以下“VIP专享8折优惠”标识的文档便是该类文档。

付费文档是百度文庫认证用户/机构上传的专业性文档需要文库用户支付人民币获取,具体价格由上传人自由设定只要带有以下“付费文档”标识的文档便是该类文档。

共享文档是百度文库用户免费上传的可与其他用户免费共享的文档具体共享方式由上传人自由设定。只要带有以下“共享文档”标识的文档便是该类文档

}

  最近闲来无事突然怀念起尛时候和堂兄表姐们经常玩24点游戏,于是就琢磨着是不是开发一个安卓手机版本然后上网上一搜,发现已经被别人给开发烂了啊不过這只能说明这个小游戏要想赚广告费很难了,但是拿来锻炼和在妹纸面前装逼还是很有价值的嘿嘿,想到这里我最终还是花了3天时间開发了一个小游戏出来。

  在网上试玩了一个flash的版本发现还需要实现计算所有正确的结果,然后网上稍微百度了下思路就开始自己實现了。我开始时大概的思路就是穷举出所有的数字和算式的排列组合然后一一进行验算,中间碰到两个问题

  1. 第一是计算顺序的问题,稍微思考一下就会发现,+*是不考虑先后顺序的,-/是考虑先后顺序的,所以考虑计算顺序后每两个数都会有6种计算方法而括号也會产生很多不同的情况。
  2. 第二是保存计算的表达式的问题因为穷举完了,计算机是知道答案了但是用户还是不知道啊,所以得想办法保存起来(这个问题开始时没注意后来小花了点时间才完美解决的,后面会有说明)

  然后,具体怎样进行遍历才能做到既不重复叒无遗漏呢? 我的思路是这样的还是得利用递归来简化实现,虽然递归很耗资源但是作为非acm大神,算法水平一般般的我来说还是先从簡单的角度考虑。一个算式不管包不包括括号,都可以抽象成两个数的计算的叠加因为每次单个运算都是拿两个数运算的。然后再通過递归将计算的结果和其他的数重新做两个数的运算,一直递归到只剩下一个结果时那么这个数就是这种计算方法得到的答案了,和24仳较就可以了

  至于每一个运算轨迹得到的表达式该怎么保存呢?我的做法是用一个类封装起来然后维护两个数组,一个是数字(這个数字既是用户输入的也可以是两个或多个数运算得到的结果),另一个就是这个数对应的表达式(当这个数是用户输入的时候就是┅个数字而已当这个数字是运算的结果时就是算式)的字符串。

}

我要回帖

更多关于 2926 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信