Melgene小应用猜数字

猜数字

猜数字(Bulls and Cows)怎么玩,怎么推理

猜数字是一款经典的单人解码游戏:电脑藏好一个秘密数字,你每猜一次就会得到一点线索。这类线索在各地叫法不同:中文常说“几A几B”,日本叫 Hit and Blow,韩国用棒球术语,英语则叫公牛和母牛(Bulls and Cows)。这篇指南会介绍本站的规则、线索怎么读、让谜题变简单的思路、游戏的来历,以及和朋友一起玩的方法。

什么是猜数字

电脑会选一个各位数字都不相同的秘密数字。经典难度是 3 位,进阶难度是 4 位。同一个数字不会出现两次,但 0 可以用,也可以放在最前面,所以 072 也是一个正常的秘密数字。3 位数共有 720 种可能,4 位数共有 5,040 种,每一局都用公平的随机洗牌来选,所以每一种出现的概率相同。

目标是用尽量少的次数找出这个数字。每猜一次,你会知道自己离答案有多近,却不知道是哪些数字对了,谜题的乐趣就在这里。不打开计时器就没有时间限制,也没有提示按钮,整个游戏靠的是冷静的推理。

一局怎么进行

在开始画面选择 3 位或 4 位,然后点“开始”。用屏幕上的数字键或键盘输入相同位数的数字,再点“猜”。数字不能重复,已经猜过的数字也不会重复计入次数。

  • “位置对”(A)表示数字对,位置也对。
  • “数字对”(B)表示数字在秘密数字里,但位置不对。
  • “全错”表示你用的数字一个都不在秘密数字里。
  • 所有位置都对就赢了,结果会显示你用了多少次。
  • 卡住了可以连点两次“放弃”查看答案并开始新的一局。放弃的局不计入成绩。

有帮助的思考方式

新手常常随便猜一个数字,然后碰运气。更好的习惯是把每次的回答当成一条事实,并记下它排除了什么。哪怕只是在纸上或脑子里做个简单的笔记,也会让游戏从“靠运气”变成真正的逻辑谜题。

  • 把“位置对”和“数字对”加起来。这个总数就是你的数字中有多少个出现在秘密数字里,不管位置如何。
  • “全错”非常有价值。它会一次性排除你用过的所有数字,以后不必再考虑它们。
  • 每次只改一两个地方。如果线索变了,就知道换进去的数字是原因。
  • 把数字和位置分开验证。知道某个数字在里面之后,再挪动它去找它的位置。
  • 每次猜的数字都应该仍有可能是答案。如果和已知的事实矛盾,它不可能赢,等于浪费一次机会。
  • 不要死盯着第一次的幸运命中。先确认它和之前所有线索都吻合,再在它的基础上往下推。

游戏的来历

Bulls and Cows 是一款古老的纸笔游戏,通常由两个人轮流当出题人和猜题人。它被认为是 20 世纪 70 年代初发行的彩色棋子桌游 Mastermind(密码破译者)的前身。同一时期,英国剑桥大学的大型计算机上出现了名为 Moo 的电脑版,此后一直是程序员喜爱的练习题。

这个游戏在各地有不同的名字:中文常叫“猜数字”或 1A2B,日本叫 Hit and Blow,韩国叫“数字棒球”,本页的叫法就沿用了棒球术语,而在俄语、西班牙语等语言里则用公牛和母牛。据计算机分析,如果每一步都下得完美,4 位数的秘密数字最多 7 次就能猜中,平均略多于 5 次,所以人类能接近这个次数就已经很出色了。

和朋友一起玩,持续刷新成绩

猜数字很容易变成一场友好的比赛。先约定位数,大家把同一难度各玩几局,比比谁用的次数最少。除了秘密数字,其余信息都是公开的,所以一局结束后可以一起聊聊各自的推理过程,这是学到新技巧的好办法。

每个难度的最佳成绩只保存在这个浏览器里。猜对一局后,会把你的次数与同一难度其他玩家的真实成绩比较;如果还没有可比较的成绩,这部分就不显示。先试着超越自己的最好成绩,再去挑战 4 位数的难度吧。

马上玩猜数字