Java 计算每个扑克起始手的唯一索引
由于一副牌中有52张牌,我们知道有Java 计算每个扑克起始手的唯一索引,java,indexing,combinatorics,lookup-tables,poker,Java,Indexing,Combinatorics,Lookup Tables,Poker,由于一副牌中有52张牌,我们知道有52选择2=1326不同的配对,但是在预扣扑克中,这可以扣成169个不同的牌,例如AK offsuit和AK fitted,因为无论是红心K红心还是黑桃K黑桃,预扣都没有区别。我的问题是,是否有一个很好的数学性质,我可以唯一地索引这169只手中的每一只(最好是从0到168)。我正在尝试创建一个查找表作为double[][]=new double[169][169],但无法将手表示形式(如AKs(王牌和王牌)更改为此数组中的唯一索引 如果这两张牌是同一套牌,则对这
52选择2=1326
不同的配对,但是在预扣扑克中,这可以扣成169个不同的牌,例如AK offsuit和AK fitted,因为无论是红心K红心还是黑桃K黑桃,预扣都没有区别。我的问题是,是否有一个很好的数学性质,我可以唯一地索引这169只手中的每一只(最好是从0到168)。我正在尝试创建一个查找表作为double[][]=new double[169][169]
,但无法将手表示形式(如AKs(王牌和王牌)更改为此数组中的唯一索引
欢迎使用其中的电子邮件地址提供所有反馈。听起来非常正确,我们永远不会有两张相同的卡片(因为标准卡片组中每个卡片只有一张),让0-9代表0-9,a=10,B=11,C=12。那是我们的数字。在base-13中,可以使用B3,将其转换为十进制,即B(即11)乘以13+3或146。这有意义吗?哦,你的答案是没有两张相同的卡片,现在你解释清楚了(我可以扮演无辜者,并声称我是在扮演多副牌,但我根本没有考虑清楚。)我很乐意。这是一个有趣的小练习。两张相同等级和套装的牌?这是不可能的,除非你在玩多副牌。如果你的查找表要比较两个不同的起始牌,请注意,套牌确实很重要-例如,
KhQh
vsAsTc
的几率不同于KhQh
vsAhTc
,即使两者都是KQs
vsATo
。