专栏名称: 好玩的数学
好玩的数学以数学学习为主题,以传播数学文化为己任,以激发学习者学习数学的兴趣为目标,分享有用的数学知识、有趣的数学故事、传奇的数学人物等,为你展现一个有趣、好玩、丰富多彩的数学世界。每周还有三道题等着你来挑战!
目录
相关文章推荐
超级数学建模  ·  一柜子的围巾,都不如它时髦 ·  3 天前  
超级数学建模  ·  为什么有些书宁可不读也不可随便读? ·  3 天前  
超级数学建模  ·  限时领丨3000词读遍天下书!床头灯英语系列 ... ·  2 天前  
超级数学建模  ·  某211高校讲师晒工资条,网友:公积金数额令 ... ·  4 天前  
超级数学建模  ·  好皮肤 养起来!通透嫩白一步到位...... ·  4 天前  
51好读  ›  专栏  ›  好玩的数学

从24点扑克牌游戏说开去

好玩的数学  · 公众号  · 数学  · 2017-04-20 15:26

正文

每天好玩的数学

学习 教育 文化 科普 - 有用 有趣 好玩

作者:蒋迅,王淑红

节选自《数学都知道》丛书第一册


“24点扑克牌游戏”的游戏规则是:任取除大小王之外的4张扑克牌,看能否在其间添加四则运算符号和括号得出24。在这个游戏里,由于限制在4个数和四则运算的范围内,所以利用电脑程序检验运算结果相对简单。有一位叫中大黑熊的博主编写了一个仅有300行的Java程序,就不但提供了源程序,而且可以在GUI上显示。我们来看一个具体的例子(如图1):

图1. 24点扑克牌游戏 /作者



在这个例子中,我们有 (7-(8/8))*4=24。并不是每个组合都能产生24这个结果。比如♥A ♦A ♣A ♠A(即1,1,1,1组合)就不能产生出24。另一方面,有些组合可以产生多种解法。比如,♥2 ♦4 ♣6 ♠Q(即2,4,6,12组合)可以用2 + 4 + 6 + 12 = 24 或 4 × 6 ÷ 2 + 12 = 24 或 12 ÷ 4 × (6 + 2) = 24 等来求解。不管一个组合能否组成24,总共有多少个可能的组合呢?这是一个排列组合问题。我们要求的是有1到13个独立数字的有重复的组合,可以用下式计算:

(注:用组合数学中的隔板法可以得到此公式,参见今天推送的第二篇文章)

即有1820个组合。可以用枚举的方法证明,在这1820个组合中,有458个组合无解。当然这是严格限制使用加减乘除来运算的条件下。有的人允许乘方开方和指数对数等运算,那么有解的情况就更多了。总之,大多数情况都是有解的,拿到牌之后我们不应轻易放弃。


我们给一个稍微有点挑战的题目:♥5 ♦5 ♣5 ♠A。有聪明的商人把能解的数组做成游戏卡出卖,很受欢迎。图1右是我在一个美国初中的数学教室里看到的。


那次去学校是为了观摩他们的数学圈(Math Circle)活动的。讲课的是几个高中生,听课的是一群初中生。老师看我有些无聊,就主动邀请我跟他玩一盘游戏“Blokus”(如图2)。这是一个有关几何对称的四人游戏,能帮助学生熟悉几何思维。


图2. 美国数学老师有很多游戏 /作者


其实,随着我们数学知识的增长,大可不必再限制于4个1到13之中的数字和加减乘除四则运算上。事实上,英雄所见略同,早就有人打破常规,把乘方、开方、对数、取整甚至阶乘运算扩大到了“24点扑克牌游戏”。


现在,我们再扩大一点,允许有任意多个数字,而且等号的位置也可以是任意的。下面我们来举例(如图3)说明:如果已知3个数489、2、978,

图3. Numenko游戏题面 /numenko.com


那么在489和2之间以及2和978之间,我们需要添加哪种运算符号和等号才能使得它成为一个等式呢?这个问题的答案如下图(如图4)所示:

图4. Numenko游戏解答 /numenko.com


上面这种扩展的“24点扑克牌游戏”有一个专门的名字,叫做“Numenko”。


我们再来试想一下,能否也像中大黑熊一样用Java语言写一个自动验证其计算结果的程序呢?不得不说,这个工作要复杂得多,绝不是300行程序所能完成的。那么怎么办呢?不要着急,这时我们可以调用现成的软件包来达到目的。MuParser就是一个理想的现成的软件包。


顺便再介绍一个类似于Numenko的趣味数学游戏:“Hexa Trex”(如图5左)。你的目标就是用上每一个符号并使等式成立。这个例子的解答为21+3=8×3(如图5右)。


图5. Hexa Trex游戏 /作者


如果读者不甘心用现成的软件包,有兴趣尝试自己来写程序验证计算结果的话,那么我们建议大家最好用Python语言,因为Python不但免费,而且支持数学表达式的读取。而Matlab和Mathemaitica等商业软件虽也有相同的功能,但不是免费的。


在下面的蜂窝状图形里(如图6),你可以有3种移动方法:从一个蜂房到右边紧挨的蜂房,到右上角紧挨的蜂房,或到一个右下方相邻的蜂房。请问从A到B有多少条路径?

(欢迎大家在留言区提交解答!)

图6. 蜂窝状图形/作者



延伸阅读

《数学都知道》是由旅美科普作家蒋迅与数学史专家王淑红出版的一套数学科普著作,先期发行三册。本书从实际生活出发,紧紧围绕数学这个主题,自然延伸到与之交叉和渗透的若干领域和方面,试图通过新颖的内容、通俗的文字、珍贵的图片、具有趣味性和启发性的问题等,呈现给读者一幅幅数学与生活、数学与科技、数学与艺术、数学与教育等共通互融的立体画面。不管你是否是数学专业,读后都会有所收益。


每天好玩的数学

微信号:DailyMathFun

以数学学习为主题,以传播数学文化为己任,以激发学习者学习数学的兴趣为目标,分享有用的数学知识、有趣的数学故事、传奇的数学人物等,为你展现一个有趣、好玩、丰富多彩的数学世界。

点阅读原文逛好玩商城,发现更多好玩的数学。