如何用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)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)