如何用access计算四张扑克牌得出24点的概率
时 间:2011-01-15 00:00:00
作 者:云中老鼠 ID:17697 城市:广州
摘 要: 如何用穷举法找到任意四张扑克牌计算出24点的概率,并针对不同牌组给出一个对应的答案。
正 文:
问题:一幅扑克去掉大小王,任意抽取四张,能计算出24点的概率多少?
解决方案:
扑克有52张,点数1-13。任意抽取四张,总排列数P(52,4)=6497400种。
其中,大部分能通过四则运算得到结果24,用穷举法发现共有5142072种可以得到24的结果。另外有1355328种无法计算出24。
例如:1,1,1,8可以通过((1+1)+1)×8计算出24,而1,1,1,1到1,1,1,7都无法计算出24来。
所以,玩扑克24点玩得出24这个计算结果的概率应该是5142072/6497400=79.2%。
如何用Access实现穷举法呢:
将1-13的牌进行排列组合不难,将+-*/排列组合也不难,就是如何处理运算顺序及括号问题。
如果程序运行前不把这个考虑好,就会进入无休止的循环,不狠心按^break都不行。
①四则运算,对于4个数字,要运算3次,排列数是4的3次方=64次;
②选四个数字出来运算,排列数是13的4次方=28561;
③运算次序,对于任意4个数,选择了3个符号进行运算,如果都是从左到右运算,就已经通过循环计算出来了,如果是先计算两侧再计算中间,就要多计算一次看结果是否正确。例如(9-1)*(4-1),不管如何换数字和符号的排位,如果不是按照先两侧再中间运算的次序,是得不出结果的。
光看前三个循环,次数就不少了。因为计算太多,就交给Access计算了,我当时用Access计算了5-10分钟。
详见附件
如果有更好的算法或更准确的答案,希望给予批评指导,谢谢!
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)
- 统计当月之前(不含当月)的记录数怎...(03.11)