哪位高手能提供一个扑克牌算24点的算法思路

哪位高手能提供一个扑克牌算24点的算法思路,第1张

我们来看看“算24点”的游戏规则:一副牌中抽去大小王剩下了52张,其中J、Q、K可以当成是11、12、13,也可以都当成1。任意抽取4张牌,用加、减、乘、除(可加括号)把牌面上的数算成24。每张牌必须用一次且只能用一次。谁先算出来,四张牌就归谁,如果无解就各自收回自己的牌,哪一方把所有的牌都赢到手中,就获胜了。

02

一般情况下,先要看4张牌中是否有2,3,4,6,8,Q ,如果有,考虑用乘法,将剩余的3个数凑成对应数。如果已有两个6,剩下的只要能凑成3,4,5都能算出24,已有两个8,剩下的只要能凑成2,3,4,已有两个Q,剩下的只要能凑成1,2,3都能算出24,比如(9,J,Q,Q)。如果没有2,3,4,6,8,Q,看是否能先把两个数凑成其中之一。

扑克牌十三道大小规则是十三道规则上和比大小的13张相同,只要某一家有同花顺或者炸d的,此家不用再摆牌,此家最大。如果同时出现多家都有同花顺或炸d的,不用摆牌,直接比哪家的同花顺或者炸d大。同花顺要比炸d大。

十三道中,三墩与其他所有玩家相比三墩全赢。共赢72注,每家24注。具体算法,每墩赢三家各6注,共18注。打q赢3家各6注,共18注。全垒打自己另加36注,其他玩家各另扣12注。72注=每墩赢18注+打q赢18注+全垒打36注。

扑克牌十三道的玩法

游戏共一副牌,除去大王和小王,共52张,每个人13张,十三张就由此得来。游戏分为小卒、中将、大帅。小卒为三张,又称为头。中将为五张,又称为中腰。大帅为五张,又称为底臀。

游戏开始后,由服务器发给每个玩家13张牌,玩家根据自己手中的牌进行大小排列,玩家可以由按大小排列和花色排列,排错了的可以重牌,注意确定摊牌了就不能够重牌了。

胜负判定,牌大小比较时,在后比敌家大的前提下胜,反之为输。如果头大于敌家,中小于敌家,则赢敌家一品,叫做吃头尾。如果中大于敌家,而头小于敌家,则赢敌家两品,叫做吃二三。如果头和中墩都大于敌家,则把敌家吃倒,计三品,叫做吃倒。如果存在同花顺或者四条,则记分时跟翻。

简单:给每个花色一个值:

黑桃 39,红桃 26,草花 13,方块 0

然后计算每张扑克的value ,我们这样定义value

value = 花色+点数,例如 红桃5的value = 26+5 = 31

给每张扑克牌定义好value,在从大到小排列现成的算法我就不赘述了

这个问题其实就是求张数最少的牌号的问题。

不知道楼主用什么语言来写

我的思路是这样的:

定议一个二维数组如:a(4,13) 来保存张数。

然后对所有牌号进行统计,至于如何统计,可以将第一行去掉,把每行第一个数去掉,然后把相同花色的数字合并字符串。再把字符串转为数组,这样就可以统计了。

统计后求最小,即解决问题

方法可能很笨,但也能实现目的

随便给出四张牌啦,然后每张牌只能用一次,所有算法都可以用,很简章的。举例:

1、给牌:3、5、6、8算法一:38(6-5)=24算法二:8/(5-3)6=24

2、给牌:4、2、9、5算法一:4(9-5+2)=24。算法二:(9-5)(4+2)=24

3、我见过最难的,给牌:5、5、5、1算法:55-(1/5)=24

以上就是关于哪位高手能提供一个扑克牌算24点的算法思路全部的内容,包括:哪位高手能提供一个扑克牌算24点的算法思路、扑克牌十三道大小规则是什么、52张扑克牌排序算法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10216432.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存