Show HN:滚动浏览魔方全部 43252003274489856000 种状态
文章摘要
抓取说明:everycube.alen.is 是一个纯客户端渲染的单页应用(SPA),curl 抓到的 HTML 里除了 UI 标签几乎没有正文内容。作者本次也没有在 HN 上留 Show HN 自述正文(Algolia 返回的 story_text 为空)。因此以下内容基于站点 DOM 中可提取的控件文本、作者 Alen123 在评论区的回复,以及 HN 讨论中对功能的描述整理而成。
这是一个由 Alen(域名 alen.is)制作的「奇怪的互联网小玩意儿」:把一个三阶魔方的全部 43,252,003,274,489,856,000 种合法状态排成一条线,然后让你用鼠标滚轮在这条线上滚动。
从站点抓到的 UI 元素可以还原出它的形态:页面顶部是一个「Permutation #(排列编号)」计数器,可以直接输入或跳转到任意编号;右侧有 FX(特效)、★、R’(输入还原/打乱公式)三个按钮;有 2D 与 3D 两种视图切换;有 1 / 500 / 1k / 5k 四档步长选择,控制滚轮每一格跳过多少个状态;底部是一条覆盖 1 到 4.3×10¹⁹ 的进度条,刻度标注为 1、1.1×10¹⁹、2.2×10¹⁹、3.2×10¹⁹、4.3×10¹⁹。此外还有 Superflip 和 Checkerboard 两个著名图案的快捷跳转按钮。魔方状态也被编码进 URL(形如 ?view=3d#5319001606686939024),所以任何一个排列都可以直接分享链接。R’ 按钮支持输入标准魔方转动记号(如 R U R' U')来定位到对应的排列编号。
它的精神先祖很明显——多位评论者立刻指出这和 everyuuid.com(「写下每一个 UUID」)是同一个路数:把一个人类无法真正把握的天文数字,伪装成一个你可以用滚轮亲手拨弄的日常界面,从而制造出一种非常具体的眩晕感。这个数字有多大?评论区提供了几个换算:以每秒试 1 个状态计需要 1.37 万亿年,即使专业玩家每秒 10 个也要 1370 亿年,远超宇宙年龄;有人算过如果滚轮表面以光速移动,滚完全程需要约 9.5 年。
作者在评论区相当活跃,并且现场修 bug——有用户反馈手动修改 URL 的 hash 后页面不刷新,作者当场上线了修复,让应用监听 hash/URL 变化并即时更新视图。
HN 评论精华
292 分。这个帖子难得地几乎没有严肃技术争论,整条讨论线基本是「大数字带来的荒诞感 + 魔方情怀 + 一些相当扎实的产品反馈」。
关于大数字的玩笑
-
khazhoux 贡献了全场最好笑的一条,用批判科技精英的腔调写道:我们正面临严重的住房负担和就业短缺问题,与此同时这里有个科技精英在炫耀 4×10⁹ 个「states(既是「状态」也是「州」)」,还不用为它们交税,而且绝大多数根本用不上,这公平吗?DerekL 一本正经地纠正:「其实是 4×10¹⁹,指数是 19 不是 9。」khazhoux 顺势接梗:「笔误,但这恰恰说明了当一个魔方囤积了这么多 states 时的极端不平等。」msl 补上最后一刀:「想象一下富到连自己差了十个数量级都注意不到。与此同时还有人在跟负指数打交道。」
-
zetanor 开启了另一条长串:「太棒了,我可以把这些铸成 NFT 吗?我不知道怎么把 43252003274489856000 乘以 50 美元,但我觉得这能让我赚很多钱,我喜欢钱。」HPsquared:「那比宇宙里所有的钱还多,你这生意稳了。」hahahaa:「你只需要卖出一个 50 美元的,剩下的交给市值,然后你就无限富有了。」这条串随后失控地演变成一场关于未实现收益是否该征税、内在价值能否被客观度量的正经辩论——d4ng 连环追问「请给出一个不依赖任何具体人主观判断的、可度量的内在价值定义」,ForHackernews 给出了最硬核的答案:「你吃掉它或烧掉它能得到多少卡路里。剩下的都是口味问题。」
-
donkeylazy456 三个字总结:「literally doom scrolling(真·末日滑屏)」。作者 Alen123 回应:「哈哈,不过是最健康的一种末日滑屏了。」
-
jcims 做了「短铅笔头计算」:他的滚轮每滚一英寸大约覆盖 12 个状态。owlninja 用 Logitech M720 的自由滚轮模式像玩幸运轮盘一样甩了一把,滚到了 791,001。soupspaces 嘲讽道:「79 万?菜鸟数字。搞罐压缩空气来,你能上百万。」
魔方本身
-
theginger 提了个有趣的观感问题:会不会有人和他一样觉得这数字小得出奇?43,252,003,274,489,856,000 加上千分位后看起来就是那种「几乎能想象」的数量级;相比之下一副洗过的扑克牌的排列数(52!,一个 68 位数)才叫大。BurningFrog 补充:「而且排一副牌比复原魔方容易多了。43 万亿亿是个有趣的冷知识数字,但它完全没告诉你复原魔方有多难。」Polizeiposaune 顺势反击:「目前速拧纪录好像是 2.76 秒。有人能在 3 秒内把一副打乱的牌排好吗?」onraglanroad 还顺便解释了为什么 52! 末尾有一长串 0——因为连乘过程中会不断出现 10、20、30 以及 2×5 这样的配对,并推论出「最大的末尾不是 0 的阶乘一定是 4!」。
-
t0mek 用 FX 模式后报了个「bug」:每个面的中心块位置始终不动。三位评论者(wingmanjd、Etheryte、krisraven)先后解释这是魔方的物理事实——中心块只原地旋转,整个十字支架是固定的。wingmanjd 说自己也是不小心把魔方拆开后才发现的。nuancebydefault 则调侃:「有时候 HN 上的 /s 是可以意会的。」
-
nzealand 讲了个关于发明者的故事:Ernő Rubik 花了四年开发魔方,做出来后立刻把它打乱,然后花了接下来一个月弄清楚它究竟能不能被复原——「幸好当时没人告诉他有 43 万亿亿种合法组合」。zamadatix 补充了更准确的背景:Rubik 造这个东西本来是为了解决「如何做出一个具有这种自由度的机械装置」这一工程挑战,打乱是意外,之后才把它当成一个谜题去攻。avandekleut 提出一个直觉:至少可以想到「把打乱的步骤倒着做一遍」就能还原。
-
jordanarseno 报告说「在 23,738,673,083,197,685,761 和 34,677,398,788,068,093,945 处,秩序从混沌中浮现」。bambax 惊呼「你难道把每一个位置都看了一遍?!」mlni 一眼看穿:「我猜他们输入的是 U2 D2 R2 L2 F2 B2 或类似的公式,我家 9 岁小孩最爱这个图案。」jordanarseno 确认属实——右上角的 R’ 按钮可以输入公式,他手动输入后拿到了这些排列编号。
-
Waterluvian 说这个网站里有他的最爱,被追问后讲了个家庭故事:去年夏天两个孩子在地下室搞「科学大战」,两个魔方在空中相撞,双双爆开(爆的是魔方不是孩子),然后以「在妈妈发现之前修好」的速度被重新组装了。所以他最喜欢的是 9 岁儿子在那个现在有 11 个绿色贴纸的「绿绿」上做出的、顶面四个角全是红白蓝的图案。tgv 评论:「这就是理论与实践的差别。」bambax 也说小时候把一个复原的魔方玩乱了还不回去,索性拆开重装。
产品反馈
-
dcanelhas 提了这条串里最有技术含量的建议:他猜实现可能是 BFS 加扁平化,相邻编号并不是相差一步,但它们本可以是——魔方存在哈密顿回路(他给出了 Bruce Norskog 的构造链接),沿着回路编号就相当于把二进制换成格雷码,每次只翻一位。他还实测发现方向键的步长是固定的 86,504,006,548,979,且左右键都往减小方向走。
-
tantalor 指出 2D 模式的颜色插值有问题:直接在 RGB 空间做线性插值会让很多过渡穿过灰色,颜色显得非常不饱和;应该改用 OKLCH,这样能保持色度、改为穿过不同色相。他还附了一个 jsfiddle 演示。
-
twright 报告转动记号方向反了:
F的效果是F',并给出了 alg.cubing.net 上的对照链接。 -
arealaccount 和 pama 分别在 iOS Firefox/Safari 和开了锁定模式的 iPhone Safari 上遇到「Application error: a client-side exception has occurred」。
-
一批「下一步该做什么」的建议:amelius 希望显示每个状态的最少复原步数,并按「距离复原的远近」排序;sensecall 想点一下就看到最快解法并让魔方转给你看;yigalirani 和 danhardman 都在追问「怎么给这个列表排序才有意思」;soupspaces 想要自动旋转和自动滚动;pestatije 提出应该做「转动序列的排列」而不是「状态的排列」,视觉上会更有意思。
-
richstokes 的第一反应是:「这可以做成一个很酷的密码生成器。」
-
tkocmathla 贡献了一个恶趣味设想:如果每次状态变化都注册成一条浏览器历史记录,那就得点 5 万次「后退」才能回到 Hacker News,「会非常好笑,而且非常反社会」。
-
noduerme 讲了个相当硬核的往事:他曾为自己以前的线上赌场写过一个 3D 魔方老虎机——随机打乱 4 次,给玩家 60 秒、最多 3 次转动来复原,用 Away3D/AS3 实现,为了同时处理旋转和 Shift 键扭转写了一堆诡异的四元数数学。他说真正难的部分是赔付结构设计:游戏按玩家第三步之后任意面上「三个同色连成一线」的线数等额赔付,完美复原有累积奖池,而他刻意把庄家优势设为零来奖励最会解题的人。为此他跑了大概十亿次蒙特卡洛才拿到赔付表。「太好玩了。真希望更多赌博游戏能这样奖励技巧。」crucio 立刻指出现实问题:只要在线赌场的游戏涉及技巧和金钱,就一定有作弊。DonHopkins 提出了作弊方案:换两个角块上的贴纸改变奇偶性,任何技巧都解不开。hamdingers 反驳:老手很快会察觉,真正厉害的一眼就能看出来;而且法律禁止把赌场游戏做成不可能赢的,这么明目张胆撑不了多久。
-
snowwrestler 推荐了小说《A Short Stay in Hell》,说排列产生的数字之惊人,尤其是和真实物理宇宙里那些(小得多的)数字相比。somenameforme 接上了那个经典对照:如果把每一局国际象棋压缩到只占一个原子,存储这些数据所需的磁盘体积也会超过宇宙中的原子总数;「一旦开始看排列,宇宙里的原子数就显得相当小了。10⁸⁰?那算什么,7 还是 8 阶乘?」notpushkin 认真算了一下:58! < 10⁸⁰ < 59!。
-
cuoder 用五个字概括了这个帖子在 2026 年 HN 上的地位:「Non-AI posts be like(非 AI 帖子就长这样)」。