游戏二十四点有几种情况?
我的路上打发时间游戏之一——二十四点,找车牌号车厢号数字钟什么的,不过走路行车还是要专心,否则亲人两行泪。
由于我能力不足,可能出现错误或不严谨,欢迎指正!
1. 玩法和举例
假装我们有一副扑克牌,去掉大小王,再去掉JQK,抽出四张牌,用牌上面的数字,通过加减乘除运算,算出二十四。
也有带JQK玩的算11、12、13,我们这里就采取最简单的1到10啦
可能有不止用四个数字算的版本,我们这里就采取最通用的用四个数字算
有许多其他版本的玩法,我们这里就采取最简单的啦
例子: 5 3 10 3
我想到的答案:
(10 - 5 + 3)* 3 = 24
可能有多种解法啦~

2. 游戏二十四点有几种情况?
好想知道二十四点到底有多少种情况,想理个小册子出来玩。。。
0000到9999一共是10000种情况,但是里面有很多重复的,比如5、3、10、3和3、3、5、10算一种情况。
我百度了“独立的24点的个数”,百度知道告诉我715。[1]

(13 * 12 * 11 * 10)/(4 * 3 * 2 * 1)= 715
解释我没看懂(捂脸),参考链接在下方[1]~
然后我去百度了“重复组合数“,百度百科告诉我以下公式[2]:

它给了两种推出这个公式的证法,还挺详细,我还是没懂,参考链接在下方[2]。(怎么会有我这种科普QAQ)

3. 暴力枚举法
到底是不是715呢?我用C写了个东西,如下:

思路是0000到9999全部过一遍,只把从小到大排列的留下。那个“total%7==0”那里不要在意,只是为了打印出来排版好看。
它输出了这个东西,如下:

确实是715呢。
我的小代码和结果放在这:https://github.com/yyzz110/twentyFourGame

4. 两个计算思路
在知网上搜索“重复组合数”找到一篇论文《有重复组合公式的几种证明方法》里面有四个证明方法。[3]
我大概看懂俩,大概。。。
其一,结合这里二十四点的例子大概可以这样解释:
如果正巧拿到四张牌都是一样的,如3、3、3、3。是哪一个数字呢?一共有10种情况。
如果拿到四张牌只含有两种数字,如6、6、9、9。是哪两个数字呢?
一共有(10 * 9)/(2 * 1)= 45种情况。
这两个数字怎么分配呢?
以6、9为例,有6、6、6、9;6、6、9、9;6、9、9、9三种。
45 * 3 = 135
如果拿到四张牌只含有三种数字,如2、8、10、10。是哪三个数字呢?
一共有(10 * 9 * 8)/(3 * 2 * 1)= 120种情况。
这三个数字怎么分配呢?
以2、8、10为例,有2、8、10、10;2、8、8、10;2、2、8、10三种。
120 * 3 = 360
如果拿到四张牌都不一样,如1、3、5、6。是哪四个数字呢?
一共有(10 * 9 * 8 * 7)/(4 * 3 * 2 * 1)= 210种情况。
四种情况加一起,10 + 135 + 360 + 210 = 715
其二,结合二十四点的例子:
把十个数想象成十个盒子。两“|"形成,一个盒子,长这样,“| |”。
十个盒子由十一个“|”组成,长这样:“| | | | | | | | | | |”。
把四个球放在十个盒子里,盒子里可以不放球或放多个球。用“O”代表球。
N号盒子里有X个球代表了数字N有X个。
比如,“|O|O|O|O| | | | | | |”代表了1、2、3、4;
“|OO| |O| | | | | | |O|”代表了1、1、3、10;
“| | |OOOO| | | | | | | |”代表了3、3、3、3。
这个问题就变成了“|”和“O”有几种排列。
第一和最后一个固定是“|”了,四个球球“O”有4 + 11 - 2 = 13个坑可以放。
不计放球顺序,所以是,(13 * 12 * 11 * 10)/(4 * 3 * 2 * 1)= 715
(好厉害怎么想出来的,好厉害)

5. 碎碎念
好饿。。。
这里怎么插入公式?
谢谢你来看!!!
由于我能力不足,可能出现错误和不严谨,欢迎指正!
参考:
[1] 百度知道 “4个给定的数算24点,一共有多少种算式情况?”https://zhidao.baidu.com/question/161393634.html
[2] 百度百科 “重复组合”https://baike.baidu.com/item/%E9%87%8D%E5%A4%8D%E7%BB%84%E5%90%88/6774375
[3] 张晓琴,李顺勇. (2011)有重复组合公式的几种证明方法. 大学数学,2011年06期,143-145.