如何用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群 (群号:483923997) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access窗体导出PDF】...(04.08)
- 【Access窗体导出PDF】...(04.07)
- Access两种方式实现即时更...(03.01)
- Access隐藏与显示lacc...(01.12)
- 【Access高效办公】将每个...(12.23)
- Access21点游戏源代码(12.13)
- 【Access窗体导出Exce...(11.15)
- 【Access开发】Acces...(11.14)
- 通过Access宏录入数据到选...(11.10)
学习心得
最新文章
- Access日期格式的数据导出Ex...(04.28)
- ACCESS精华集锦资料.CHM(04.25)
- Access VBA语句If Me...(04.24)
- 【Access修改记录示例】编辑选...(04.22)
- 【Access表名称命名建议】将A...(04.20)
- Access学习笔记--用Acce...(04.19)
- 【Access重复项查询示例】将A...(04.17)
- Access快速开发平台企业版--...(04.16)
- 【Access模块示例】通过模块代...(04.15)
- Access查询里面分组合计功能添...(04.13)