初级

解数独一定要用试错法吗?

通过示例盘面,解释从两个候选数中选一个试下去的试错法、它在本应用中的代价,以及可以代替试错的逻辑方法。

作者
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。这一格很容易让你想赌一把,各有一半机会。

c1c2c3c4c5c6c7c8c9
r1r2r3r4r5r6r7r8r9
6
8
2
1
9
34
9
34
6
578
45
34578
2
1
1
7
5
6
7
8
4
6
2
2
6
7
1
3
4
7
6
5
3
1
4
6
9
2
8
7
9
7
1
8
6
3
8
6
3
7
示例盘面的第2行(实线)及各空格的候选数。r2c1、r2c3构成显性数对(Naked Pair){3, 4},因此可排除r2c6和r2c7中的相应候选数(删除线)。

猜之前,先记全第2行其他空格的候选数,你会发现r2c1和r2c3的候选数都是{3, 4}。这就是数独候选数怎么记中介绍的「显性数对」。第2行的3和4必定填在这两格,因此,第2行其他单元格都不能填4。

于是,从r2c6的候选数4、5中排除4,就只剩5。原本靠猜有一半机会增加一次错误的空格,只要记下一行的候选数,就能确定答案。

仍然需要假设时

有些题用基本方法和显性数对仍无法推进。如果这时你决定使用假设,遵守以下几点可以降低代价。

  • 选只有两个候选数的单元格。 如果选有三个以上候选数的单元格,需要验证的情况会太多。
  • 用笔记推演,不要直接填数。 在本应用中,填错数字的瞬间就会计为错误。
  • 出现矛盾,就确定另一个候选数。 如果起点只有两个候选数,其中一个导致矛盾,另一个就是答案。
  • 如果你觉得假设负担太大,也可以用提示。提示会填入所选空格的正确答案,每局可用次数有限(默认3次)。

常见错误

  • 还没记全候选数就猜。 像示例一样,记下一行的候选数,往往就不需要猜了。
  • 把假设的数字直接填入单元格。 猜错会增加错误次数,即使撤销,次数也不会恢复。
  • 记不清假设之后的推演分支。 如果你不知道后续填入的单元格基于哪个假设,出现矛盾时就不知道该回退到哪里。

练习题

c1c2c3c4c5c6c7c8c9
r1r2r3r4r5r6r7r8r9
1
9
3
8
2
7
3
2
6
1
8
7
5
9
4
8
2
1
3
6
1
8
47
4679
2469
3
247
47
5
3
8
6
1
6
2
1
9
8
3
2
1
3
5
8
3
8
7
6
1
2
6
8
2
5
1
3
9
练习盘面的第4行(实线)及各空格的候选数。请不用猜测,确定r4c7应该填的数字。

r4c7应该填什么数字? 请在第4行中找出候选数完全相同的两个单元格。

查看答案

答案是2。r4c3和r4c8的候选数都是{4, 7},因此第4行的4和7必定填在这两格。从r4c7的候选数2、4、7中排除4和7,就只剩2。同理,r4c4可以排除4和7,r4c5可以排除4。

预备知识

下一篇