文章目录

永远无法在 2048 这个游戏中达到 262144

发布于

游戏简介

游戏在一个 4 × 4 的棋盘上进行,棋盘里填有一个个的“数块”,每个数块上都写有某个形如 2^n$ 的正整数。每一步,你需要从上、下、左、右四个方向中选取一个方向,按下对应的方向键之后,所有的数块都会“落”到这个方向;若有两个同种的数块在此过程中发生碰撞,则它们的值会相加起来,并合成一个新的数块。然后,系统会在棋盘中随机选择一个空白位置,并在此生出一个新的数块,上面写有数字 2 或者数字 4 (两种情况之比为 9 : 1)。游戏开始时,棋盘上会自动生成两个随机的数块。

证明

由于棋盘上的每个数都是形如 $2^n$ 的正整数,因而把它加进总和之后,这个总和的二进制表达里最多只会多出一个数字 1 (如果发生了进位,数字 1 的个数可能会不变甚至减少)。这意味着,如果最终棋盘上的所有数之和的二进制表达当中一共有 k 个数字 1 ,那就说明刚才至少有 k 个数在相加,换句话说棋盘里至少有 k 个数块。

容易看出,每走一步之后,棋盘上的所有数之和都会增加 2 或者 4 。如果最终棋盘上出现了一个 $2^{18}$,就说明棋盘上的所有数之和至少是 $2^{18}$,那么在此之前棋盘上的所有数之和一定经历过 $2^{18} - 2$ 或者 $2^{18} - 4$。前者的二进制表达为 11 1111 1111 1111 1110,这里面有 17 个数字 1 ,超过了棋盘里总的格子数,因而显然是不可能的。后者的二进制表达是 11 1111 1111 1111 1100,这里面有 16 个数字 1 ,正好是棋盘里总的格子数。这说明,此时棋盘刚好被填满,$2^2, 2^3, 2^4, \ldots, 2^{17}$ 这 $16$ 种不同的数块各有一个。这意味着棋盘里不但没有空白的格子,也没有相同种类的数块可以合并,此时玩家直接就死掉了!因而,我们是没有办法得到 $2^{18}$ 的。


仅有一条评论

  1. woshiSB · 2023-09-16 19:30

    证的6哇!那我们可否把问题进阶一下,如果2048每次出现的数不只是2或4,而是根据目前局面的最大数来决定每次操作出现的数的大小,那样是否存在理论最大值

发表评论