算术数独

算术数独 技巧

算数数独是一款数学逻辑谜题,它需要玩家根据规则将空格中填上数字。每道谜题都由一个网格组成,该网格中包含了一些粗线框。游戏的目的是将数字1到N(N是网格的行列数)填到相应的空格内,使得每一行以及每一列都没有重复的数字,并且每一个矩形框左上角代表着该框内的数字运算法则和计算结果。算数数独的粗线框内的数字可以重复。

算数数独有诸多变种。单一运算算数数独谜题中只包含一种运算,即加或者乘。同样的,二重运算算数数独包含俩种运算,加减或者乘除,而四则运算算数数独包含了四种运算法则,加减乘除。除了单一运算算数数独的运算法则标记在谜题网格上以外,其他俩种算数数独中的每个粗线框内的运算法则均标记在该框左上角。

CalcuDoku puzzle CalcuDoku solution

从已知开始

一些算数数独,尤其是那些简单的谜题,粗线框只包含一个空方格。这些其实是谜题的已知数字,我们只需将该框左上角的数字填入该方格,而无需考虑其运算法则。因此,我们在下面的例子中填上数字2。

Starting with the givens (A) Starting with the givens (B)

唯一框技巧

与数谜题和数和相似,算数数独谜题中的粗线框内,经常只能有一种数字组合符合该框的要求。起手解题时,这些组合很实用,尤其是利用在直的粗线框内。下面是一些利用唯一框技巧的例子:

唯一框技巧应用一:

在下面的单一运算谜题的左侧一栏中,该粗线框包含了俩个空格并且和为4。由于算数数独规定同一列内不能有重复的数字,那么只有1+3的组合符合该框的要求,即使我们不知道哪个方格应该填1还是3。因此,我们可以将左侧最底端的方格填上4并且在其右侧的相邻方格上填上余数3。

Unique block technique 1 (A) Unique block technique 1 (B)

唯一框技巧应用二:

我们可以在乘法的谜题中应用同样的技巧。下面例子中的最下面一行,包含了一个俩个方格,乘法运算为2的粗线框。这也就意味着1x2是唯一符合它的数字运算组合,即使我们不知道哪个方格应该填1还是2。因为最底下一行已经有了数字4,那么我们将该行剩下的唯一方格填上3。进而我们将余数1填到其上面的相邻方格中。

Unique block technique 2 (A) Unique block technique 2 (B)

唯一框技巧应用三:

下面例子中,最底下一行包含了一个俩个方格,数字和为4的粗线框。因为算数数独规则要求同一行列不能有重复的数字,那么1+3是唯一符合要求的组合。然而,网格左上角的方格已经填上了数字3,那么这就意味着该粗线框中1和3的填法只有一种,如右图所示。

Unique block technique 2 (A) Unique block technique 3 (B)

唯一框技巧应用四:

这个例子与上面的例子很相似,只不过最左侧一列的顶端俩个为空方格而其候选数字为4和5。然而,数字5对于左上端的粗线框太大了,所以,我们只能按照右图所示将4填入该框内,并将余数1填到其相邻方格中。

Unique block technique 4 (A) Unique block technique 4 (B)

唯一框技巧应用五:

我们可以在乘法算数数独中应用同样的技巧。下图的顶端一行中包含了一个三个空格相乘为6的粗线框。因为1x2x3是其唯一可能的数学运算组合,我们可以进而推测出该行其他俩个方格为4和5。又因为右上角的方格中不可能是5(5与任何整数相乘都不能得出8),所以我们将4填入其中,随即将余数2填到与它相邻的下方方格中。

Unique block technique 5 (A) Unique block technique 5 (B)

唯一框技巧应用六:

下图是一道二重运算的算数数独,包含了乘法和除法。与之前的例子相似,第二行左侧方格的候选数字为3。当填完3以后,我们将1填到其下面的方格中,因为这是唯一能满足除后结果为3的数字组合。

Unique block technique 6 (A) Unique block technique 6 (B)

唯一框技巧应用七:

下面是另外一道应用唯一框技巧的二重(乘除)算数数独的例子。让我们检查一下左侧一栏内2÷的粗线框。该谜题中只有俩种可能符合除后为2的组合,2÷1和4÷2,那么也就是说该粗线框内只的候选数字只能是1,2和4。然而,第四行已经存在了数字1和4,那么第四行的左侧一格必须填上数字2。与之前的其他例子不同,我们还不能将其粗线框内的余数填上,因为1和4都有可能。

Unique block technique 7 (A) Unique block technique 7 (B)

唯一框技巧应用八:

有些时候,我们很难辨认出唯一框技巧,如下图所示。最右边一列的顶端粗线框内的数字组合为1+2。然而,当我们检查第一行中的三个方格的粗线框时发现,只有2+4+5才符合其要求,因此我们将数字2排除出右侧顶角的方格并填上数字1。然后,我们将余数2填到其下面。

Unique block technique 8 (A) Unique block technique 8 (B)

单一候选数技巧

根据算数数独的第一条规则,每一行和每一列不能有重复的数字,这也就意味着有些时候我们可以应用数独的技巧进行解题。让我们观察下面例子中问号标记的方格。在问号所在行中,1和5已经存在,那么问号处只能填写2,3和4。而本列中,2和4已经存在,那么问号处唯一的可能性只能是数字3。

Single candidate techniques (A) Single candidate techniques (B)

隐式唯一技巧

有些时候,我们只需将某个方格简单的填上其所属数字即可,因为同一行列的其他方格不能容纳该数字。我们叫这种排除法为隐式唯一技巧,数独中也有相关的法则。

隐式唯一技巧应用一:

让我们看下面二重运算谜题中最左侧一列。在底端的粗线框中,唯一可能的数字组合为4÷1,尽管我们不知道哪个数字在方格中排列的顺序。同样地,该列中间的粗线框中的唯一可能的数字组合为5-2。尽管4-1同样可以满足该粗线框内的条件,但是由上步所知,数字4和1已经出现在了底端的粗线框中。现在,假设我们将其他数字都填到相应的方格内,数字3也不会出现在上述的俩个粗线框内,这也就意味着我们只能将数字3填到左上角的方格。

Hidden single technique 1 (A) Hidden single technique 1 (B)

隐式唯一技巧应用二:

同样的情况发生在下面谜题的第三行,数字5只能填写到从右数的第二个方格处。

Hidden single technique 2 (A) Hidden single technique 2 (B)

网格余数技巧

网格余数,在解决许多情况中相对方便的技巧,从另一个角度分析并解决算数数独谜题。网格余数是基于已知网格中的某一列或者某一行的数字之和(积)总是相等。例如,一道4x4的谜题中,某一行列的数字之和总是1+2+3+4=10。同样道理,其数字之积移动是1x2x3x4=24。下面是一些利用网格余数技巧的例子:

网格余数技巧应用一:

我们看一下下面的例子。该谜题的第一行中包含了俩个完整的粗线框,如灰色区域所示,其和分别是8和2(可以作为已知数字)。我们将这俩个粗线框相加即可得到2+8=10,但是我们知道,一道5x5的算数数独的任意一行的数字之和只能是1+2+3+4+5=15。这也就意味着其差,15-10=5,正是由俩个粗线框之间的空格所为。因此,我们将数字5填写到该空格内。

Grid remainder technique 1 (A) Grid remainder technique 1 (B)

网格余数技巧应用二:

下面是另外一道利用网格余数反向思维的例子。如下面谜题所示,左侧一列包含了俩个粗线框,如灰色区域所示,其中一个和为10并且完全包含在该列中,而另外一个和为9并且有俩个方格包含在该列中。我们将俩个粗线框内的数字相加即可得到10+9=19。但是我们知道,一道5x5的算数数独中,任意一行列的和只能是1+2+3+4+5=15。这也就意味着其差,19-15=4,正是由不在该列而在该粗线框中的空方格所为。因此,我们将4填到相应的位置。

Grid remainder technique 2 (A) Grid remainder technique 2 (B)

网格余数技巧应用三:

网格余数技巧同样适用于乘法的谜题中。如下面的例子所示,右侧一列包含了俩个粗线框,如灰色区域所示,一个积为8并且完全在此列中,而另外一个积为60并且只有俩个方格在此列中。我们将俩个粗线框的数字相乘,得到积为8x60=480,但是我们知道,一道5x5的算数数独中,某一行列的积只能为1x2x3x4x5=120,这也就意味着其商,480÷120=4,正是由不在该列却在其粗线框内的方格所致,因此我们将4填入其中。

Grid remainder technique 3 (A) Grid remainder technique 3 (B)

框内技巧

框内技巧涵盖了一部分方法帮助玩家确定粗线框中数字的位置和数值。下面是一些利用框内技巧的例子:

框内技巧应用一:

下面例子中,灰色区域所示的粗线框中,唯一的数字组合是4+5+5=14。在5x5的算数数独中,这个真命题适用于一切由3个方格组成的L形粗线框中。又因为同一行列不能出现重复的数字,那么数字5只能填写在该粗线框的对角位置上。

Intra block technique 1 (A) Intra block technique 1 (B)

框内技巧应用二:

下面是另外一个应用框内技巧的例子。下面的谜题中,灰色区域所示的四个方格,有三个方格存在于同一列。这也就意味着该三个方格唯一的数字组合只能是1+2+3=6,因为任意其他的组合都将使得该三个数字之和为7或者大于7,这也会使得第四个方格无法填上数字。因此,我们将余数,7-6=1,填到第四个方格上。

Intra block technique 2 (A) Intra block technique 2 (B)

框内技巧应用三:

框内技巧同样可以应用在那些乘法的粗线框内。下面的例子中,灰色区域所示的粗线框中的数字组合只能是4x4x5=80。在5x5的算数数独中,该真理适用于一切由三个方格组成的L形粗线框中。又因为,同一行列不能出现重复的数字,那么数字4只能填写在其对角上。

Intra block technique 3 (A) Intra block technique 3 (B)

框内技巧应用四:

较大的粗线框对于使用框内技巧是个挑战。让我们观察下下面部分解出的谜题中,灰色区域和为8的粗线框。应用加法最小值技巧,我们推算出该区域顶端一行的方格之和最小为1+2=3,中间这一行的最小之和也是为1+2=3,我们将这4个方格相加得到的最小数值只能是3+3=6,而考虑到该粗线框之和是8,那么我们最多只能将1或2填入到该粗线框的第三行的唯一空格中,又因为该列中已经存在了数字2,那么我们只能将数字1填到该粗线框的底部方格中。

Intra block technique 4 (A) Intra block technique 4 (B)

框内技巧应用五:

在一道5x5的算数数独中,4个方格并且粗线框之积为32的数字组合只能是1x2x4x4或者2x2x2x4。让我们看一下下面例子中,灰色区域所示的粗线框。很明显,第二个组合方式不可能存在于该粗线框中,因为无论我们怎么排列数字,数字2都会出现在同一行或列中。这也就意味着只有1x2x4x4符合要求,又为了避免数字4出现在同一行列中,我们只能将数字4填写到左边的方格。

Intra block technique 5 (A) Intra block technique 5 (B)

高级技巧

至此,我们谈论的技巧都不足以解决一些困难的谜题。所以,我们需要一些高级技巧去解决那些特别的情况以及富有乐趣的逻辑挑战。大多数的高级技巧都应用了递推,即一种向前看的假设方法并且检查一步或者俩步后是否会有矛盾发生。尽管应用高级技巧有时候和应用之前的技巧很相似,但是最不同的一点是:解题者必须向前看并且发现逻辑冲突。下面是一些应用高级技巧解决特别题目的例子。当你独立解决困难的算数数独谜题时,你或许会发现更多的适合自己的技巧:

高级技巧一:

下面是一道已经部分解出的5x5算数数独谜题。我们知道谜题左侧一列必须包含数字5,现在我们假设数字5将会出现在三个红点所示的任意一个位置。这也就意味着该灰色区域所示的粗线框中,左侧一列的数字最小之和为1+2+5=8,中间一列的数字最小之和为1+2+3=6而最右边一列的数字最小之和为1+2=3,而将它们加起来为8+6+3=17。因为17已经超过了该粗线框的数字之和,我们推出假设失败,那么数字5只能填到左下角的方格中。

Advanced technique 1 (A) Advanced technique 1 (B)

高级技巧二:

下面所示技巧和上面的例子相似,只不过它只是用了相反地假设,即证明一个特定区域中必须填上某个数字。下面是一道5x5的算数数独谜题。让我们假设第二行的数字5不会放置在红点所示的任意位置。那么我们可以推出,灰色区域所示的粗线框的第一行最大和为2+5=7,第二行最大和为2+3+4=9,第三行为5,我们将其相加即可得到7+9+5=21。因为21比该粗线框之和小,假设失败并且说明数字5必须存在于红点所示的其中一个位置。现在,尽管我们不知道数字5应该具体填写到哪里,但是我们确定了左侧一列数字1和5的位置。

Advanced technique 2 (A) Advanced technique 2 (B)

高级技巧三:

因为在所有5x5算数数独中,任意一列的方格之和为1+2+3+4+5=15,那么灰色区域所示的粗线框中,左侧一列的和为15。考虑到这个粗线框的数字之和为20,我们还需将红点所示位置填上数字,并且使得它们相加为5。现在,让我们检查左边数的第二列,看看该列中的数字5应该放置的位置。我们不能将5放在红点所示区域,因为这会使得其粗线框数字之和超过20。我们也不能将5放在红点上方的L形粗线框中,因为只有1x1x4或者1x2x2才会得到4。因此,数字5只能放置在该列的顶端,如下面右图所示。

Advanced technique 3 (A) Advanced technique 3 (B)