如何用access计算四张扑克牌得出24点的概率-云中老鼠
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 其它应用


如何用access计算四张扑克牌得出24点的概率

发表时间:2011/1/15 评论(5) 浏览(12691)  评论 | 加入收藏 | 复制
   
摘 要:    如何用穷举法找到任意四张扑克牌计算出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群(群号:198465573)
 
 相关文章
Excel计算首行出现名称的数量  【欢乐小爪  2013/1/21】
天干地支及生肖的计算  【在水一方  2013/4/7】
实用计算器,源码,eval  【th  2013/4/22】
不同记录同字段计算  【蒋元根  2013/4/25】
计算两个日期间的年月日  【网行者  2013/5/26】
常见问答
技术分类
相关资源
文章搜索
关于作者

云中老鼠

文章分类

文章存档

友情链接