数独课程讲义

作者:张丹 文章来源:原创 更新时间:2019-03-05

第一课 数独的起源

一、数独(sudoku)介绍

是一种智力运动。从字面意思来看,是“单独的数字”或“只出现一次的数字”,是一种以数字为表现形式的逻辑推理谜题。

数独 Sudoku(日语:数独 すうどく)是一种源自18世纪末的瑞士,后在美国发展、并在日本得以发扬光大的数字智力拼图游戏。拼图是九宫格(即3格宽×3格高)的正方形状,每一格又细分为一个九宫格。在每一个小九宫格中,分别填上1至9的数字,让整个大九宫格每一列、每一行的数字都不重复。 

数独的玩法逻辑简单,数字排列方式千变万化。不少教育者认为数独是锻炼脑筋的好方法。

英国国家教育及教学部官方教育杂志《教师杂志》(Teacher Magazine)建议教师让学生填写数独,以训练大脑智慧。

在英国学校中,许多数学老师纷纷运用这个与数学关系不大,但可以训练逻辑思维能力的游戏。老师们把游戏下载到电脑中,要求学生每周至少完成三则数独题目。 

世界数独锦标赛于2006年在意大利卢卡举行,以后每年举办一次,2013年是由中国北京承办的。

 

 

 

 

第二课 数独基本知识

一、数独的游戏规则

在9阶方阵中,包含了81个小格(九列九行),其中又再分成九个小正方形(称为宫),每宫有九小格。

标准数独的规则一般都只有三点:

1、数独中每行内的数字为1-9且不重复;

2、数独中每列内的数独为1-9且不重复;

3、数独中每宫内的数字为1-9且不重复。

二、数独的元素

标准数独的基本元素包括单元格、行、列、宫、区、区块、已知数、候选数等等。

1、单元格:简称格,是数独盘面中最小的格子,只可以填入一个数字;

2、行:数独盘面中横向9个单元格的总称;

3、列:数独盘面中纵向9个单元格的总称;

4、宫:数独盘面中粗线划分出的9格单元格的总称;

5、区:填入一组1-9数字的区域,行、列、宫都是区的一种具体表现形式;

6、区块:某宫中横向活纵向3个并列单元格的总称;

7、已知数:数独题目初始给出的数字;

8:候选数:某空单元格中目前还可以填入的数字。

三、数独技巧

数独的基本技巧有基础摒除法、排除法、假设法等;一般解题是先用基础摒除法和排除法填数字能确定的格子;基础摒除法和排除法是解数独最基本的方法。当某个格子的数字不能确定时可能就要用到假设法了;当然还有其它方法!不过本人推荐用假设法,这样更好地锻炼逻辑推理能力,特别是中小学生。本人也推荐玩数独最好在纸上用铅笔玩。一般9阶数独的初级和中级都可以用基础摒除法和排除法解答完成!

1、直观解法。

直观解法是数独的基础解法,也是应用最多的数独解法。由于其可以用眼睛一目了然地看出,所以称之为直观解法。

2、候选法。

与直观法相对应的就是候选数解法,一些稍难的数独题目,把所有的直观解法都应用后还是不能解开,那么就需要标注候选数,利用候选数之间的逻辑关系进行删减获选数解题,这类技巧的难度较大。

五、数独的优点

培养分析、逻辑、推理能力,开发智力;帮助冷静思考,纾缓压力。

六、数独的种类

数独包括标准数独和变形数独两大类,我们在初级课程中,主要学习标准数独,标准数独的解法掌握了,对于变形数独来讲,就可以触类旁通,解决问题了。

变形数独是指宫的形状不为矩形或者在行、列、宫规则外,再附加其他条件的数独,常见的类型有不规则数独,对角线数独,连体数独和杀手数独等。

 

 

 

 

 

第三课 直观解法(一)单区唯一解法(1)

一、什么是单区唯一解法(或称“摒除法”)

顾名思义,“单区”指的是一行、一列或者一宫,“唯一解”指的是某格内只有唯一一个解。摒除法的作用对象可以是宫或者行列,所以,我们又把摒除法分为两类,一类为宫摒除,另一类为行列摒除

二、宫摒除法

·         数独的规则中提到,在每个宫内,每个数字只能出现一次,也就是说如果一宫中已经出现过数字1,则这行的其他格都不能为1,由此引发出宫摒除法。首先来看一个例子:

例1

·         附加图片: monthly_05_2010/post-2-1273909309.png

·         因为r6c7为5,所以同处于R6的r6c6不能为5,B5的5尚未填写,在摒除了r6c6后,只剩下一个可能,那就是r4c4=5

·          

·          

·         例2

·         附加图片: monthly_05_2010/post-2-1273909502.png

·         数字1对B1摒除

·         r1c7为1,所以同处于R1的r1c2、r1c3不能为1;

·         r7c1为1,所以同处于C1的r2c1、r3c1不能为1,

·         B1的1尚未填写,原本可以是1的5格有4格被排除了,所以得到r3c2=1

 

 

 

 

 

 

第四课    单区唯一解法(2)

例3 继续增加观察难度
附加图片: monthly_05_2010/post-2-1273909567.png

·         数字7对B7摒除

·         r7c5为7,则同处于R7的r7c1与r7c3不能为7;r9c9为7,则同处于R9的r9c2与r9c3不能为7;r5c3为7,则同处于C3的r7c3、r8c3、r9c3不能为7,B7的7尚未填写,6个空格有5个已被排除,所以得到r8c1=7

 

例4

·         有的时候需要四条摒除线
附加图片: monthly_05_2010/post-2-1273909610.png

·         数字5对B5摒除

·         r2c6为5,则同处于C6的r4c6、r5c6、r6c6不能为5,r5c3为5,则同处于R5的r5c4、r5c5、r5c6不能为5;r4c8为5,则同处于R4的r4c4、r4c5、r4c6不能为5;r7c5为5,则同处于C5的r4c5、r5c5、r6c5不能为5

·         B5的5尚未填写,9个空格有8个可以排除5的可能,所以得到r6c4=5

通过上面几个例子,相信大家对宫摒除的作用效果有一定了解。

 

 

 

 

第五课    行列摒除法(1)

·         行列摒除法与宫摒除法相比,是将焦点由宫转移到了行列。首先我们来看一个简单的例子:附加图片: monthly_05_2010/post-2-1274018870.png

·         C5还剩2格没有填写数字,由于r3c8为8,所以同处于R3的r3c5不能为8,得到r7c5=8

·         由这个例子看行列摒除似乎没什么难的,但是接下来的几个例子会让你发现它的难度

例1
附加图片: monthly_05_2010/post-2-1274019027.png

·          

·         数字5对C1摒除

·         r2c3为5,所以同处于R2的r2c1不能为5;r7c4为5,所以同处于R7的r7c1不能为5,C1的5尚未填写,3个空格有2个被摒除,所以得到r4c1=5

·         接下来会越来越困难

例2

附加图片: monthly_05_2010/post-2-1274019109.png

数字7对R7摒除r9c7为7,所以同处于B9的r7c7、r7c8、r7c9不能为7,r5c5为7,则同处于C5的r7c5不能为7,R7的7只能在r7c2

 

第六课、行列摒除法(2)

进一步增加摒除对象行列的空格数
例3
附加图片: monthly_05_2010/post-2-1274019175.png

·         数字2对R9摒除

·         r7c1为2,则同处于B7的r9c2和r9c3不能为2;r4c4为2,所以同处于C4的r9c4不能为2;r1c9为2,所以同处于C9的r9c9不能为2,R9的2只能在r9c5

·         继续加大难度
例4
附加图片: monthly_05_2010/post-2-1274019279.png

·         数字3对R1摒除

·         r8c1为3,所以同处于C1的r1c1不能为3;r5c5为3,所以同处于C5的r1c5不能为3;r9c6为3,所以同处于C6的r1c6不能为3;r1c9为3,所以同处于C9的r1c9不能为3,所以r1c3=3

·         可以发现在上述的例子中,观察的困难度也越来越高,在最后一个例子里的数字3对R1摒除的动作是很难想到的。

·         为什么行列摒除会比宫摒除难呢?宫摒除的聚焦点是一个宫,一道题有九个宫,需要观察摒除数的位置可能在其他四个宫里;而行列摒除的聚焦点是一行或一列,一道题有九行和九列,需要观察的摒除数可能分布在全盘,也就是说观察范围是宫摒除的整整一倍之多。

 

 

 

第七课   唯一解法

前言

*           直观法的根本是基础摒除法,唯一解法其实只可算是基础摒除法的特例,只因其成立条件十分特殊明确, 可以几乎不花脑筋就填出解来,所以特别独立为一法,但有些人是完全不加理会的。

唯一解详说

*       当数独谜题中的某一个宫格因为所处的列、行或九宫格已填入数字的宫格达到 8 个时,那么这个宫格所能填入 的数字,就只剩下那个还没出现过的数字了。

*       当某列已填入数字的宫格达到 8 个时,所剩宫格唯一能填入的数字就叫做列唯一解; 当某行已填入数字的宫格达到 8 个时,所剩宫格唯一能填入的数字就叫做行唯一解; 当某个九宫格已填入数字的宫格达到 8 个时,所剩宫格唯一能填入的数字就叫做九宫格唯一解。

<图 1> (5, 9)出现列唯一解 6 了

*           <图 1>是出现列唯一解的例子,请看第 5 列,由 (5,1) ~(5,8) 都已填入数字了,只剩(5,9)还是 空白,此时(5,9)中应填入的数字,当然就是第 5 列中还没出现过的数字了!请一个个数字核对一下, 哦!是数字 6 还没出现过,所以(5,9) 中该填入的数字就是数字 6 了,这时我们说:(5, 9)有列唯一解 6 。

<图 2> (7, 1)出现行唯一解 9 了

*           <图 2>是出现行唯一解的例子,请看第 1 行,除了宫格 (7,1) 外都已填入数字了,此时(7,1)中应填入的数字, 当然就是第 1 行中还没出现过的数字 9 了!这时我们说:(7, 1)有行唯一解 9 。

<图 3> (7, 2)出现九宫格唯一解 3 了

*           <图 3>是出现九宫格唯一解的例子,请看下左九宫格,除了宫格 (7,2) 外都已填入数字了,此时(7,2) 中应填入的数字,当然就是下左九宫格中还没出现过的数字 3 了!这时我们说:(7, 2)有九宫格唯一解 3 。

*           仔细想想:以上的列唯一解其实也可看成是列摒除解、行唯一解也可看成是行摒除解、 九宫格唯一解也可看成是九宫格摒除解,不是吗?不过 9 个宫格已填了 8 个,这样的情况太特殊、太容易辨认了, 所以独立出来也无可厚非啦!

 

 

第八课    区块摒除法

前言

*           区块摒除法虽属于进阶的技巧,但已入门的玩家在解题时可以很容易的配合着基础摒除法使用,增加不少 找到解的机会,将感觉顺手多了。所以即使是最简易级的题目,已入门的玩家一样可在解题时应用此法, 并非在基础摒除法已找不到解时才让此法上阵。本网页中的很多例子,如果坚持使用基础摒除法,其实 仍可找到其它数字解,但因机缘凑巧,恰可用上区块摒除法找到解,所以仍拿来当做例子啦!

*       什么是区块呢?

1. 对列而言,就是分属三个不同九宫格的部分。在下图中,我们分别用不同的颜色来标示列的三个区块:

2. 对行而言,也是分属三个不同九宫格的部分。在下图中,我们分别用不同的颜色来标示行的三个区块:

3. 对九宫格而言,就是分属三个不同列或三个不同行的部分。在下图中, 我们分别用不同的颜色来标示九宫格的三个区块:

*         为了说明及学习的方便,尤怪将区块摒除法分为 4 个不同的型式,但在实际应用时,即使玩家不知此分类, 也可以很容易的顺着区块的所在及方向而做出正确的摒除。

1、九宫格对行的区块摒除:某数字在九宫格中的可填位置仅存在其中一个区块时,因为某数一定会在本区块, 所以包含该区块的行,可将数字填入另两个区块的可能性将被摒除。

2、九宫格对列的区块摒除。某数字在九宫格中的可填位置仅存在其中一个区块时,因为某数一定会在本区块, 所以包含该区块的列,可将数字填入另两个区块的可能性将被摒除。

3、行对九宫格的区块摒除。某数字在行中的可填位置仅存在其中一个区块时,因为某数一定会在本区块, 所以包含该区块的九宫格,可将数字填入另两个区块的可能性将被摒除。

4、列对九宫格的区块摒除。某数字在列中的可填位置仅存在其中一个区块时,因为某数一定会在本区块, 所以包含该区块的九宫格,可将数字填入另两个区块的可能性将被摒除。

*           区块摒除法虽属于进阶的技巧,但已入门的玩家在解题时可以很容易的配合着基础摒除法使用,增加不少 找到解的机会,将感觉顺手多了。所以即使是最简易级的题目,已入门的玩家一样可在解题时应用此法, 并非在基础摒除法已找不到解时才让此法上阵。本网页中的很多例子,如果坚持使用基础摒除法,其实 仍可找到其它数字解,但因机缘凑巧,恰可用上区块摒除法找到解,所以仍拿来当做例子啦!

第九课    九宫格对列、行的区块摒除(1)

*           九宫格摒除解的系统寻找是由数字 1 开始一直到数字 9 ,周而复始, 直到解完全题或无解时为止;每个数字又需从上左九宫格起,直到下右九宫格,周而复始, 同样要不断重复到解完全题或无解时为止。

*           使用区块摒除法,只要在九宫格摒除解的系统寻找时,注意是否有区块摒除的成立条件即可,当区块摒除 的条件具备了,就等于多了一个摒除线,找到解的机会自然多了一点,将感觉顺手多了。例如在<图 1>中, 如果不使用或不会使用区块摒除法,是找不到 1 的九宫格摒除解的,但如果用上了区块摒除法,将可找到 四个数字 1 的填入位置哦:

<图 1>

*           在< 图 1 >中:先从数字 1 开始寻找九宫格摒除解,当找到中左九宫格时,由于(3, 2)、(4, 5)的摒除, 将使得数字 1 可填入的位置只剩下 (5, 1) 及 (5, 3),因为每一个九宫格都必须填入数字 1,既然中左 九宫格的数字 1 一定会填在 (5, 1) ~ (5, 3) 这个区块,那表示包含这个区块的第 5 列,其另两个 区块就不能填入数字 1 了,因为同一列中只能有一个数字 1,所以可将第 5 列另两个区块填入数字 1 的 可能性摒除。

<图 2>

*           第 5 列的区块摒除,配合 (4, 5) 及 (9, 7)的基础摒除,使得 (6, 8) 出现了中右九宫格摒除解了。

<图 3>

*       只找到一个还不过瘾,当搜寻到下左九宫格时,由于(3, 2)、(9, 7)的摒除,将使得数字 1 可填入的位置 只剩下 (7, 1) 及 (7, 3),同理,因为每一个九宫格都必须填入数字 1,既然下左九宫格的数字 1 一定会 填在 (7, 1) ~ (7, 3) 这个区块,那表示包含这个区块的第 7 列,其另两个区块就不能填入数字 1 了, 因为同一列中只能有一个数字 1,所以可将第 7 列另两个区块填入数字 1 的可能性摒除。

<图 4>

*           第 7 列的区块摒除,配合 (4, 5) 及 (9, 7)的基础摒除,使得 (8, 6) 出现了中下九宫格摒除解了。

<图 5>

*           找到了 (6, 8) 及 (8, 6) 两个摒除解之后,因谜面的数字已有改变,所以循例应回头再找一遍,相信大家一定 可以很容易的找到另两个九宫格摒除解:(1, 4)、(2, 9)。

*           九宫格对行的区块摒除和九宫格对列的区块摒除同理,只不过九宫格对列的区块摒除是数字仅出现在九宫格 的横向区块,所以受到影响的就是列;而九宫格对行的区块摒除是数字仅出现在九宫格的纵向区块,所以受 到影响的就变成是行而已。

 

 

 

 

第10课    九宫格对列、行的区块摒除(2)

< 图 6> 是一个九宫格对行的区块摒除之例子。你可以看出下左九宫格的数字 9 应该填在什么位置吗?

<图 6>

*           在< 图 6 >中:由于(5, 8)的摒除,使得数字 9 在中左九宫格可填入的位置只剩下 (4, 3) 及 (6, 3), 因为每一个九宫格都必须有数字 9,既然中左九宫格的数字 9 一定会填在 (4, 3) ~ (6, 3) 这个区块, 那表示包含这个区块的第 3 行,其另两个区块就不能填入数字 9 了,因为同一行中也只能有一个数字 9, 所以可将第 3 行另两个区块填入数字 9 的可能性摒除。

<图 7>

*           第 3 行的区块摒除,配合 (2, 2)、(7, 6) 及 (9, 9)的基础摒除,使得 (8, 1) 出现了下左九宫格摒除解 9 了。

<图 8>

*           看过了以上的例子后,首先要提醒大家,前面已提过区块摒除需机缘凑巧,并非随手可得哦!大部分的时候, 虽然发现了区块摒除的条件,但却是空包弹,一样找不到摒除解!例如:在 < 图 1 > 的上右九宫格中, 由于 (3, 2)、(9, 7) 的摒除,使得上右九宫格的数字 1 只出现在 (1, 9) 及 (2, 9),符合区块摒除的条件, 但配合现有的数字 1 做摒除后,并无法找到任何摒除解。所以当找到区块摒除的条件时,并不必太高兴!

<图 9>

*       第11课    行、列对九宫格的区块摒除(1)

*       一般而言,九宫格对行、列的区块摒除是容易被发现和运用的,因为一般人常把注意力放在九宫格摒除解的 寻找上,所以找到的自然是九宫格对行、列的区块摒除条件;而行、列对九宫格的区块摒除成立条件需配合 行、列摒除解的寻找,所以常被疏忽了。不过尤怪认为:解题本以增加生活乐趣为上,如果可用简单的方法解题, 何必强要使用困难的方法呢?

*           配合一般人不到不得已不去寻找行、列摒除解的心态,下面这个例子和前面的例子就不同了, 如果不使用或不会使用行、列对九宫格的区块摒除,是找不到 8 的行摒除解的,请先解解看, 然后再看后面的说明:

<图 10>

*           在本例中:由于(5, 5)、(7, 7)的摒除,使得数字 8 在第 2 列可填入的位置只剩下 (2, 2) 及 (2, 3), 因为每一列都必须有数字 8,既然第 2 列的数字 8 一定会填在 (2, 1) ~ (2, 3) 这个区块, 那表示包含这个区块的上左九宫格,其另两个区块就不能填入数字 8 了,因为同一个九宫格中也只能有一个数字 8, 所以可将上左九宫格另两个区块填入数字 8 的可能性摒除。

<图 11>

*           于是上左九宫格的区块摒除,配合 (5, 5)、(7, 7)的基础摒除,使得 (6, 1) 出现了第 1 行摒除解 8 了。

<图 12>

*           下面这个例子更困难一点,必须先找到九宫格对行、列的区块摒除,然后再利用行、列对九宫格的区块摒除, 来找到 8 的行摒除解,请先解解看,给自己一点挑战,然后再看后面的说明:

<图 13>

*       第12课    行、列对九宫格的区块摒除(2)

*        

*           在本例中:由于(3, 6)、(7, 1)的摒除,使得数字 8 在上左九宫格中可填入的位置只剩下 (1, 2) 及 (2, 2), 符合了九宫格对行的区块摒除之条件,所以可把第 2 行其它区块填入数字 8 的可能性摒除掉。

<图 14>

*           接下来:利用上左九宫格对第 2 行的区块摒除,并配合(7, 1)、(9, 5)的基础行摒除, 使得数字 8 在第 5 列中可填入的位置只剩下 (5, 8) 及 (5, 9), 符合了列对九宫格的区块摒除之条件,所以可把中右九宫格其它区块填入数字 8 的可能性摒除掉。

<图 15>

*           最后,利用第 5 列对中右上左九宫格的区块摒除,并配合(7, 1)、(9, 5)的基础列摒除, 使得数字 8 在第 7 行中可填入的位置只剩下一个,意即找到第 7 行的行摒除解 8 了。

<图 16>


关闭窗口
打印文档
附件:
    课程讲义

     
    Copyright? 2018 常州市新北区薛家实验小学 版权所有
    地 址:地址:江苏省常州市新北区薛家镇 邮编:213125 苏ICP备10201501号-2
    联系电话:0519-85951757,85953527 传真:0519-85950502 电子邮件:czxjxx@163.com

    苏公网安备 32041102000057号