2048游戏最多能玩到多大的数字?最多能玩多少分?
来源:互联网 发布:俄罗斯地狱入口 知乎 编辑:程序博客网 时间:2024/05/01 08:33
2048大家都玩过,也有很多人考虑过,最高到底能玩到多大的数字。
也有的人会问,最高能玩到多大的分数,但是这个明显要复杂很多。
有个在线的2048做的还不错,手机电脑都可以玩,
而且只要打开,后面就再也不需要网络了,火车上面玩很方便
链接:http://2048game.com/
我的成绩:
这个游戏我还录了一个视频,8分钟完成2048
我的手机里面还安装了一个可以悔一步的版本的2048
可以悔一步的版本,比不能悔的版本要简单很多。
比如说,当只有一个空格的时候,很多时候,出现2就会game over,出现4就可以继续玩。
这样,利用悔一步的功能,可以不断尝试,直到出现4再继续玩。
当然,有的版本是game over之后就不能悔一步了
那就比这个版本稍微难一些,但是还是比不能悔的版本要简单一些。
我的成绩:
下面讨论2048问题的简化版
简化一:假设系统只会给出2,不会给出4
简化二:假设16个格子没有位置的限制,任何2个格子只要数相等就可以合并。
重定义操作:每次操作,可以同时合并若干对数,比如将2,2,4,4,8合并成4,8,8,
如果没有可以合并的数,就不合并,算一次不做任何改变的操作。
每次操作都会产生1个新的2
问题:这样的游戏最多可以玩出多大的数字?
首先列出2的幂,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072
131072=2^17
下面我将证明,永远不可能玩到131072
定义一个全局状态:所有格子的数的和S
很明显,刚开始的时候S是4,每合并1次,S的值就会加2
假设某个时候出现了131072,那么S至少为131072
那么一定有某个时候,S=131070,表示成二进制是1111 1111 1111 1111 0
这个数,要想表示成2的幂的和,至少需要16个数即从2到65536这16个数。
而这个时候,没有多余的空格了,所以说,不可能玩到131072。
而且,65536是可以达到的。
下面讨论真正的2048,到底能玩到多大的数字。
按照上面的论述可以推出,如果2048永远只出2的话,是不可能玩到131072的。
但是真正的2048,是有可能出现4的,所以说,2048永远不可能玩到262144,但是有没有可能玩到131072很难用理论说明。
为了研究131072到底能不能达到,我意识到只能悔一步的版本无法满足我的要求,于是我开始玩第三种版本——无限悔棋版
APK下载:点击打开链接
其实,可以悔一步的版本和可以悔任意多步的版本,在理论上是效果一样的。
当我们考虑2048最多可以玩到多大的数字的时候,是这么想的:
每次出现的是2还是4是随机的,出现的位置也是随机的。
我们只需要考虑在所有情况中,对我们最有利的那一种即可。
也就是说,可以这样考虑,每次出现的是2还是4是由我们来定,每次出现的位置也由我们来定,这样的情况下最多可以玩到多大的数字。
不难发现,无论是可以悔一步的版本的2048,还是可以悔任意多步的,都和这个模型的等价的。
这个图说明131072是可以玩到的,也让人很容易相信,131072便是能玩出的最大数字了,要证明也简单,就像我上面证明的那样。
下面讨论最多能玩多少分。
虽然我已经玩到了终点,已经无法再玩了,但是分数却不是最高的。
2048的计分规则是,玩家通过合并得到1个数N,这个数就计分N
比如说,2个2合并得到4,就加4分,2个1024合并得到2048,就加2048分
所以要计算最高分需要注意一个问题,同样是4,如果是玩家合并2个2得到的,那就是4分,但是如果是自动给出的4,那是没有分的,也就是说,单看这16个格子里面有哪些数是无法判断准确的得分的。
不过,最高分对应的局面只有2种情况,最小的格子可能是2也可能是4,另外15个格子就一定是8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072无疑了。
为了计算最高分,可以再次假设每次给出的数都是2
在这样的前提下,我也不能肯定一定能玩到上图的局面,不过这一局就花了接近40个小时,我对细节太熟悉了,我觉得应该是没有问题的,这个不详谈了。
如果这样玩出上述的局面的话,那就一定能得到最高分。
具体计算方法是,2没分,4对应4分,8对应16分,16对应48分,32对应128分,64对应320分,128对应768分,256对应1792分,512对应4096分,1024对应9216分,2048对应20480分,4096对应45056分,8192对应98304分,16384对应212992分,32768对应458752分,65536对应983040分,131072对应2097152分
所以从8到131072这15个格子的总分是3887104分,这就是2048能够达到的最高分
- 2048游戏最多能玩到多大的数字?最多能玩多少分?
- tomcat最多能占多大内存
- foxmail的收件箱中最多能放多少邮件呢?
- Linux为什么最多能分4个扇区的解释
- 网吧回合制网游神么游戏玩的最多?
- MySQL最多能装多少记录
- 一个进程最多能包含多少线程
- Malloc最多一次能分配多少内存
- Malloc最多一次能分配多少内存
- 最多能喝多少瓶汽水?
- 最多能喝多少瓶啤酒呢?
- excel最多能有多少行多少列
- 统计出现最多的数字
- 统计出现最多的数字
- CSU 1573 最多的数字
- 使用python测测你的系统最多能创建多少个线程
- 使用python测测你的系统最多能创建多少个线程
- 使用python测测你的系统最多能创建多少个线程
- switch语句中的break与continue
- ffmpeg (二):ffmpeg结合SDL2.0解码视频流
- 解决excel下打开文件灰色看不到的问题
- java几种常见内存泄露及处理方法
- 使用OpenCV进行人脸关键点检测
- 2048游戏最多能玩到多大的数字?最多能玩多少分?
- ExecutorService 与 FutureTask 待整
- 堆的构建、堆的插入、堆的删除、堆排序
- 【数据结构导论】——时间复杂度集结号
- ffmpeg (三):ffmpeg结合SDL2.0解码音频流
- OpenCV相机标定
- 一周IT博文精选TOP10(2016.10.09)
- CSS3中的content和attr的用法
- removeNode(e)与e.parentNode.removeChild(e)