40年前的一道24点题,以及,最近有人做了一个计时对战的24点游戏,勾起了我的一段往事

先出3道24点儿的题,供大家玩一玩,图一乐: 5 5 7 11,3 3 8 8,2 2 3 10。

24点游戏大家都玩过吧?就是4个数(一般是1~13,对应扑克牌的点数),用加减乘除和括号计算出24,游戏的一般玩法是看谁算得快。
最近一个微信群里有人手搓了一个24点的竞争游戏app(相关信息见文末),勾起了我的一段回忆。

那是40年前的一个夏天的傍晚,当时我上初二,在结束学校操场的又一次国庆“翻花”排练后(为当年秋天的国庆35周年纪念活动做准备),一些同学不愿意回家,有人提议玩会儿24点游戏,于是我们几个要好的同学一起回到一楼无人的教室。我们先在黑板上画一张表,规则是:在限定的时间内,每人想一个24点的题(4个数字),说开始后同时写在黑板上,看谁把其他所有人出的题最快地做出来,按先后顺序登记在黑板的表格上计分,多轮过后再看表上的总分。当然,这不是我们第一次这么玩了。

当天的游戏一直进行的很顺利,直到2 2 3 10这4个数字的出现,我清楚地记得它是LX出的题。

当时我们其他的人都认为 2 2 3 10这题出错了,因为别的题都算出来了,就卡在这道题上了。我们都不是第一次玩24点,且水平应该都还可以。于是我们多次要求LX核实再核实,确保真能用这4个数(2 2 3 10)算出24,LX也多次核实和确认。最终我们是投降了还是被一个同学算出来了,我的记忆有点模糊了。但确定的是,当答案公布的时候我们所有人都吃了一惊,“这么简单”的题,我们怎么会花了这么长的时间还算不出来?

后来我还拿这道题试过多次,我发现越是玩过24点儿的人,貌似做出来(如果能做出来的话)花的时间越长,而24点新手反而可能很短的时间就算出来了。这里面好像有点什么。

我高中(我考上了另一所市重点学校)快毕业的时候,我拿这道题考过我们班的两个学霸,记得当时是在学校的礼堂开大会,坐在下面有点无聊,我拿出这道题试试他们,大约过了40分钟,J同学放弃了,C同学长叹了一口气,他是做出来了,但不明白为什么自己在“这么简单“的一道题上花了这么长的时间。这里面一定有点什么。

多年以后,我还有一些机会拿这道题试试不同的24点玩家。我记得一次是在新加坡和一个大陆过去的朋友,一次是在上海浦东一个喜欢玩24点的企业家,我又拿出了这4个神奇的数字…关于他们当时有没有做出来或者花了多时间做出来的细节我已经记不清了,但是我记得这些24点的玩家,在解这道题上,貌似都遇到了一些困难。

最近我把上面这3道24点的题目都拿给Deepseek,对于2 2 3 10 这道题,经过了70多步,Deepseek还是解不出来,而对于3 3 8 8这种"经典"的24点难题(相对而言)和5 5 7 11,Deepseek几乎秒解,这更让我觉得2 2 3 10这道题更不一般了。

说到5 5 7 11(开始出的第一题),因为它是我在初中玩24点的时候自己当场现想出来的一道题,当时也给别人也造成了一点小小的困惑,所以我也记得特别清楚,一起列到文章里,算是给我自己的一个纪念。

最近微信群里有人手搓了一个24点的竞争游戏app,原话“24点游戏早就被人用计算机穷尽所有组合了。所以我设计了一个计时对战的模式,有一点点竞争性,而且,每一局时间都确定,非常适合等车等人的时候,随手玩两局”。

游戏叫Mana24, https://24.manamana.ai/,可惜ios目前仅限外区(国区备案暂没搞好)。我试了试,还不错,也算是帮他推广一下,没事儿大家可以一起玩两局。现有的各种24点app貌似没有和真人比赛的。如果有,请你告诉我。

各位,上面3道题你算出来了吗?多长时间算出来的? 哪道题对你最难?
Image description![Image description](https://s.rmimg.com/2025-03-02/1740885982-934617-24-1.png)
Image description![Image description](https://s.rmimg.com/2025-03-02/1740885983-243699-24-2.png)

@“elzrpdhb”#p251971 我用DeepSeek解出了你那个2、2、3、10计算24点

2×(3+10)−2=24

>

首先,我需要回忆一下24点常用的方法,比如加减乘除,还有分数、括号之类的。用户可能已经知道基本的运算,但可能需要更巧妙的组合,特别是当数字看起来不太容易直接组合的时候。


>
>

先列出所有数字:2、2、3、10。我需要尝试不同的组合方式。可能先考虑乘法或者除法,因为这两个运算更容易得到较大的数或者分数。比如,10和3相乘是30,但剩下的2和2可能需要调整到30减6等于24,不过这样似乎不太对。


>
>

或者,有没有可能用分数?比如用10除以2等于5,然后5减2等于3,再乘以3得到9,这显然不够。或者试试其他顺序,比如(10 - 2)得到8,然后8乘以3是24,但剩下的2还没用上。不过这样的话,必须用上所有数字,所以不行。


>
>

另一个思路是看看如何将两个数组合成一个更大的数,比如2和2相加得到4,然后用3和10。比如4乘以(10 - 3)等于28,还是不够。或者10乘以3是30,30减去(2+2)=4,得到26,也不对。


>
>

或者,试试分数除法。比如10乘以2等于20,加上2得到22,再加上3就是25,还是不行。或者用3乘以某个分数。比如(10 - 2/2)等于9,再乘以3得到27,差一点。


>
>

等等,或者用3和10来构造一个分数。比如(10 × (3 - 2/2))。先算2/2等于1,3减1等于2,然后10乘2等于20,还是不够。或者反过来,3乘以10是30,然后30减去(2+2)=4,得到26,还是不对。


>
>

这时候可能需要更巧妙的组合,比如用减法或除法来调整。比如,2的某个次方?不过题目里应该只能用加减乘除和括号。或者考虑更复杂的分数运算,比如:


>
>

假设用10和2构造一个分数,比如10/(2/3),但这样的话,10/(2/3)等于15,然后剩下的2怎么办?15加2加2等于19,还是不够。


>
>

或者,试试(2 × (2 + 3 + 10)),但加起来是15,2×15=30,不行。或者用减法,比如(10 × 2) - (3 - 2) =20 -1=19,也不对。


>
>

这时候可能需要考虑更不明显的组合。比如,10乘以(3 - 2/2)。先算2/2=1,3-1=2,然后10×2=20,还是不够。但如果这里用3乘以某个部分呢?


>
>

或者,用3和10相乘得到30,然后减去(2+2)=4,得到26,还是不对。或者,试试(10 - 2) ×3 ×2,但这样是8×3×2=48,太大了。


>
>

再想想,有没有可能用分数来调整。比如,3乘以10等于30,然后30减去(2/2)=1,得到29,还是不对。或者,3×(10 - (2/2))=3×9=27,仍然不够。


>
>

这时候可能需要换个思路,比如用除法来调整。比如,2×2×3×10=120,显然太大,但有没有办法用除法来调整到24?比如,120除以5等于24,但这里没有5,不过可能通过组合得到5。比如,(10 - (2+3))=5,然后用2,但这样可能需要更复杂的步骤。


>
>

或者,考虑(10 × (3 - (2/2)))。里面先算2/2=1,3-1=2,然后10×2=20,还是差4。或者,如果能有办法得到(10 × 2) + (3 × 2)=20+6=26,还是不对。


>
>

这时候可能需要更仔细地列出所有可能的组合,或者用逆波兰表达式来穷举可能的运算顺序。比如:


>
>

尝试不同的排列组合:


>
>

例如,10和3组合,3 × (10 - (2/2)) =3×9=27


>
>

或者,3 × ( (10 - 2) / 2 )=3×(8/2)=3×4=12,不够。


>
>

或者,10 × 2 × (3 - 2) =10×2×1=20


>
>

或者,10 + 3 + 2 + 2=17,不够。


>
>

或者,10 × 2 - 3 + 2=20-3+2=19


>
>

或者,10 × (2 + 3) / 2=10×5/2=25


>
>

还是不行。


>
>

这时候可能需要考虑分数运算,比如:


>
>

(10 × 2) + (3 × 2)=20+6=26 → 26不行


>
>

或者,10 × 3 - 2 × 2=30-4=26


>
>

还是差2。


>
>

或者,10 × 2 - (3 - 2)=20-1=19


>
>

或者,3 × 2 × (10 - 2)=6×8=48 → 太大


>
>

或者,3 × (10 - 2/2)=3×9=27


>
>

这时候可能开始怀疑是否有解,或者有没有遗漏的组合方式。


>
>

再仔细想想,是否有办法用分数的方式,比如用3和10构造一个分数,然后与2结合:


>
>

例如,2 × 3 × (10 - 2)=6×8=48 → 不对


>
>

或者,10 ÷ (2 - (3 ÷ 2)) → 这里可能比较复杂,计算里面的括号:


>
>

3 ÷ 2=1.5,2 -1.5=0.5,然后10 ÷0.5=20,然后20 + 剩下的2?但已经用完了所有数字吗?


>
>

这里可能用了三个数字:10 ÷ (2 - (3 ÷ 2)) =20,然后加上2?但是这样可能只用了10,3,2,剩下还有一个2没用到。需要确保所有数字都被使用。


>
>

或者,这样的表达式: (3 × 10) - (2 × 2) =30-4=26,还是不行。


>
>

这时候可能需要检查是否有其他组合方式,或者可能用户给出的问题是否有解。或者是否允许使用阶乘等其他运算,但通常24点只用加减乘除和括号。


>
>

根据一些24点解题网站,比如用2、2、3、10确实有一个解法: (2 × (3 + 10)) - 2 =2×13-2=26-2=24。但这里可能是否正确?


>
>

计算一下:2×(3+10)=2×13=26,再减2等于24。是的,这样用了所有四个数字:2,3,10和另一个2。所以正确的表达式是2×(3+10) -2=24。或者写成(2×(3+10))-2=24。或者还可以有不同的表达方式,比如2×3 +2×10=6+20=26,不对,但刚才那个是对的。


>
>

或者,是否有其他方式,比如(10 + 3)×2 -2=13×2-2=26-2=24。是的,这同样正确,并且使用了所有四个数字。所以答案应该是这样的组合。


>
>

可能刚才在思考过程中漏掉了这个组合,可能是因为过于集中在乘除和分数,而忽略了简单的加减乘的组合。


>
>

使用给定的数字2、2、3、10计算24点的方法如下:


>
>

步骤解析:


>
>
  • 1.

    加法组合:将3和10相加,得到:


    >

    >

    3+10=13


  • >
    >
  • 2.

    乘法扩大数值:用2乘以13的结果:


    >

    >

    2×13=26


  • >
    >
  • 3.

    减法调整至目标值:再用26减去剩下的2:


    >

    >

    26−2=24


  • >

    >
    >

    最终表达式:


    >
    >

    2×(3+10)−2=24

    @“QAQ555”#p252566 前面假装思考了半天,最后是数据集里学过 :huaji37:

    @“dfjk”#p252580 数据集里还有这玩意:huaji17:

    (7-11/5)*5=24

    但这不是正常的思路,一般都是整数算法

    思维训练!

    @“QAQ555”#p252652


    >

    根据一些24点解题网站,比如用2、2、3、10确实有一个解法: (2 × (3 + 10)) - 2 =2×13-2=26-2=24。但这里可能是否正确?

    不仅学过 24 点,而且正好学过这四个数字。打印思维链更像是产品经理想出来的忽悠不了机器学习的用户的营销手段,其实没有意义,就是把程序员调试的时候要打印的 log 给变成话了,用户看着好玩而已。而且 AI 的 logs 都是自己瞎编的,比如:

    >

    这时候可能需要考虑分数运算,比如:

    >(10 × 2) + (3 × 2)=20+6=26 → 26不行

    > 或者,10 × 3 - 2 × 2=30-4=26

    连除法都没有,哪里用到分数运算了?:huaji09:

    逻辑也需要训练

    24 点不需要用 AI,程序用枚举法跑一遍就行Image description</s>Image description<e>

    Image description</s>Image description<e>

    Image description</s>Image description<e>


    @“QAQ555”#p252566 我较早用Deepseek试过,它当时确实没有解出来