初级
解数独一定要用试错法吗?
通过示例盘面,解释从两个候选数中选一个试下去的试错法、它在本应用中的代价,以及可以代替试错的逻辑方法。
- 作者
- DailySudoku编辑团队(Object)
- 发布日期
- 2026-09-22
- 更新日期
- 2026-09-22
什么是试错法(trial and error)
试错法是在一个还剩两个以上候选数的单元格中,选定一个数字,假设它正确,再继续解下去。如果随后同一行或列中出现两个相同数字,或某个单元格的候选数被全部排除(矛盾),就说明最初选的数字不对,可以排除该候选数。如果那格原本只有两个候选数,剩下的一个就是答案;如果原本有三个以上,你只是排除了其中一个,还不能确定答案。这种方法也常被称为「猜测」或「尝试与纠错」。
试错法本身并不是错误的方法。出现矛盾,也能成为判断依据。问题在于代价:为了验证一个假设,你可能需要接着填好几个单元格;矛盾出现得越晚,需要回退的单元格就越多。
谜题只有一个答案意味着什么
每日数独生成谜题时,会逐个尝试删除已知数,只有删除后仍保持解的唯一性(uniqueness),才会真正删除。因此,每道题都恰好只有一个答案,所有单元格的数字都由最初的已知数唯一确定。不过,只有一个答案,并不保证你能不用假设一路解完。有些题很难仅靠常用方法解到最后。
解题所需的方法难度也因题而异。本应用按初始已知数的数量划分难度(从简单的40个到专家的24个,大师以22个为目标),所以即使难度等级相同,各题需要的方法也可能不同。
在本应用中,假设为什么代价高
- 填入错误数字时,立即计为一次错误。 如果你把假设的数字直接填入单元格,而它并非正确答案,错误次数会立刻增加一次。
- 撤销也不会减少错误次数。 单元格会恢复原状,但已经记录的错误次数会保留。
- 启用「错误上限」时(默认启用,上限3次),错误达到上限,游戏就会结束。
因此,在本应用中直接填数来验证假设,就有增加错误次数的风险。如果你仍想尝试假设,请只用笔记记录推演过程,不要直接填数。笔记不会计为错误。
用逻辑代替假设——看起来只能二选一的空格
下面示例盘面中的r2c6只有4、5两个候选数。第2行已有9、6、2、1,第6列已有1、6、3、9、8、7,所以只剩4和5。这一格很容易让你想赌一把,各有一半机会。
猜之前,先记全第2行其他空格的候选数,你会发现r2c1和r2c3的候选数都是{3, 4}。这就是数独候选数怎么记中介绍的「显性数对」。第2行的3和4必定填在这两格,因此,第2行其他单元格都不能填4。
于是,从r2c6的候选数4、5中排除4,就只剩5。原本靠猜有一半机会增加一次错误的空格,只要记下一行的候选数,就能确定答案。
仍然需要假设时
有些题用基本方法和显性数对仍无法推进。如果这时你决定使用假设,遵守以下几点可以降低代价。
- 选只有两个候选数的单元格。 如果选有三个以上候选数的单元格,需要验证的情况会太多。
- 用笔记推演,不要直接填数。 在本应用中,填错数字的瞬间就会计为错误。
- 出现矛盾,就确定另一个候选数。 如果起点只有两个候选数,其中一个导致矛盾,另一个就是答案。
- 如果你觉得假设负担太大,也可以用提示。提示会填入所选空格的正确答案,每局可用次数有限(默认3次)。
常见错误
- 还没记全候选数就猜。 像示例一样,记下一行的候选数,往往就不需要猜了。
- 把假设的数字直接填入单元格。 猜错会增加错误次数,即使撤销,次数也不会恢复。
- 记不清假设之后的推演分支。 如果你不知道后续填入的单元格基于哪个假设,出现矛盾时就不知道该回退到哪里。
练习题
r4c7应该填什么数字? 请在第4行中找出候选数完全相同的两个单元格。
查看答案
答案是2。r4c3和r4c8的候选数都是{4, 7},因此第4行的4和7必定填在这两格。从r4c7的候选数2、4、7中排除4和7,就只剩2。同理,r4c4可以排除4和7,r4c5可以排除4。