数独的解法
排除法就是利用数独中行、列和宫内不能填入相同数字的规则,利用已出现的数字对同行、同列和同宫内其他格进行排斥相同数字的方法。
宫内排除法就是将一个宫作为目标,用某个数字对它进行排除,最终得到这个宫内只有一格出现该数字的方法。技巧示意图:
宫内排除法
如上图所示,A2、B4和F7三格内的1都对三宫进行排除,这时三宫内只有C9格可以填入1,本图例就是对三宫运用的排除法。
行列排除法就是将一行或一列作为目标,用某个数字对它进行排除,最终得到这个行列内只有一格出现该数字的方法。技巧示意图:
行列排除法
如上图所示,D2和B8两格内的6都对F行进行排除,这时F行内只有F5格可以填入6,本图例就是对F行运用的排除法。
区块排除法就是先利用宫内排除法在某个宫内形成一个区块,利用该区块的排除再结合其他已知数共同确定某宫内只有一格出现该数字的方法。技巧示意图:
区块排除法
如上图所示,B4格的7对五宫进行排除,在五宫内形成了一个含数字7的区块。无论该区块中F5格是7还是F6格是7,都可以对F行其他格的7进行排除。再结合H7格的7同时对六宫进行排除,得到六宫内只有D8格可以填7。
4. 宫内数对占位法
数对占位法指的是在某个区域中使得某两数只能出现在某两格内,这时虽然无法判断这两个数字的位置,但可以利用两数的占位排斥掉其他数字出现在这两格,再结合排除法就可以间接填出下个数字。技巧示意图:
宫内数对占位法
如图所示,利用D行和7列中的已知数3、5对六宫排除,得到在E8和F8两格形成了一个数对,该数对排斥其他数字填入这两格。这时再利用D4和F1两格中的7对六宫进行排除,得到六宫中只有E7格可以填入7。
5. 唯余解法
唯余法就是利用数独中每格内都只有9种数字的可能性,如果某格中有8种数字都不能填,只能填入唯一未出现数字的方法。技巧示意图:
唯余解法
如上图所示,C行有已知数1、2;三宫有已知数3、4、5;9列有已知数5、6、7、8,上述8种不同的数字,同时对C9格产生影响,使得C9格不能填入这8种数字,得到C9格内只能填入数字9,否则就出现同行、同列或同宫中数字相同的情况。
6. 行列区块法
行列区块法指的是利用行列排除,在某行或列内制造出一个区块,利用该区块对该区块所在宫的其他格进行删除的方法。技巧示意图:
行列区块法
如上图所示,A9和I2两格的1对5列进行排除,使得5列的1只能在D5、E5和F5三格之中,这时在5列内制造了一个含5的区块,该区块同时也存在于五宫中,所以可以排除掉五宫其它格中的1。这时再结合D行和6列的已知数字,可以唯余得到D6格内只能填入9。
7. 行列内数对占位法
数对占位法,在上面的宫内数对占位法中,我们已经学过数对占位法,这里讲的是数对出现行列里的情况,这时的观察难度会大大增加,本技巧也属于难度较大的技巧之一。技巧示意图:
行列内数对占位法
如图所示,利用四宫和8列的已知数2、7,同时对F行进行排除,在F行得到数字2、7只能填在F6和F9两格内,这时在F行的这两格内形成2、7数对。再观察A7和H8两格的8对六宫的排除,六宫内只有E9格内可以填入8。
8. 数组占位法
数组占位法是在数对占位法基础上,由两数占两格变为三数占三格的方法。技巧使用理论与数对占位法是相同的,但观察难度提升了很多。技巧示意图:
数组占位法
如图所示,利用E行和5列内的已知数2、4、6同时对五宫进行排除,得到在五宫内数字2、4、6只能填在D4、F4和F6三格内。由于五宫内数组2、4、6的占位,再观察B6和I5两格内的7对五宫进行排除,得到五宫内只有E4格可以填入7。上例是在宫内形成的数组占位,同理数组也可以在行列中出现。
9.显性数对
显性数对是指利用对格内数字的唯余,使某两格内都只剩余相同的两个候选数,恰好这两格又在同行、同列或同宫的情况。这种情况形成的数对称为显性数对,或唯余数对。技巧示意图:
显性数对
如图所示,B6和F6两格由于被周围数字的影响,这两格内都只剩余候选数5、6,恰好这两格又都处于6列内。这时,6列的5和6只能在这两格内并结合G1格的5对八宫进行排除,得到八宫的5只能填在I4格内。
10. 显性数组
显性数组是在显性数对基础上进行提高的技巧。指利用对格内数字的唯余,使某三格内都只剩余相同的三个候选数,恰好这三格又在同行、同列或同宫的情况。技巧示意图:
显性数组
如图所示,E3、E7和E9三格由于被周围数字的影响,这三格内都只剩余候选数4、5、9,恰好这三格又都处于E行内。并结合B4和H6格的4对五宫进行排除,得到五宫的4只能填在F5格内。
数独的7种解法
数独解法 七种解法: 前言 数独这个数字解谜游戏,完全不必要用到算术!会用到的只是推理与逻辑。刚开始接触数独时,即使是只须用到唯一解技巧的简易级谜题,就已可让我们焦头烂额了,但是随着我们深陷数独的迷人世界之后,这类简易级的数独谜题必定在短时间内难再使我们获得征服的满足。于是,当我们逐步深入、进阶到更难的游戏后,我们将会需要发展龈?多的解谜技巧。虽然最好的技巧便是我们自己发现的窍门,这样我们很容易??能记住它们,运用自如,不需要别人来耳提面命。但是如果完全不去观摩学习他人发展出来的技巧,而全靠自己摸索,那将是一个非常坚苦的挑战,也不是正确的学习之道!所以让我们一齐来探讨数独的解谜方法吧! 数独的解谜技巧,刚开始发展时,以直观式的唯一解及摒除法为主,对于初入门的玩家来说,这也是一般人较容易理解、接受的方法,对于一般简易级或中级的数独谜题,如果能灵活运用此二法则,通常已游刃有余。 1.唯一解法 当数独谜题中的某一个宫格因为所处的列、行或九宫格已出现过的数字已达8 个,那么这个宫 格所能填入的数字就剩下这个还没出现过的数字了。 <图1> (9, 8)出现唯一解了
<图1>是最明显的唯一解出现时机,请看第8 行,由(1,8) ~(8,8) 都已填入数字了,只剩(9,8)还是空白,此时(9,8)中应填入的数字,当然就是第8 行中还没出现过的数字了!请一个个数字核对一下,哦!是数字8 还没出现过,所以(9,8) 中该填入的数字就是数字 了。8 出现唯一解了2> (8, 9)<图<图2>是另一个明显出现唯一解的情形,请看第8 列,由(8,1) ~(8,8) 都已填入数字了,只剩(8,9)还是空白,此时(8, 9)中应填入的数字,当然就是第8 列中还没出现过的数字中该填入的数字就是9) (8, 还没出现过,所以9 哦!是数字了!请一个个数 字核对一下, 9 了。数字出现唯一解了图3> (7, 5)<<图3>是另一种明显出现唯一解的情形,请看下中九宫格,在这个九宫格中除了(7, 5)还是空白外,其他宫格都已填有数字了,所以(7, 5)中应填入的数字,当然就是下中九宫格中还没出现过的数字了!请一个个数字核对一下,哦!是数字 1 还没出现过,所以(7, 5) 了。中该填入的数字就是数字1
幼儿数独游戏(1-6)
21634251634 4625346251 12563125463 4352463512 1426514326 63215632145 22 16325146325 2516253146 612534 53421534261 36142361452 42561425613 33 14652146523 2516235164 624623415 4513451632 56241562341 146314256
3621364521 546125436 45613452613 6325613254 23614236145 54162541362 55 31526315426 4213462153 14652146532 25314253614 2345621345 536534261 66 61354621354 43526435216 6452164523 35261352461 513513642 213246135
45126453126 2653126534 63634251 51243512463 21345261345 34512345612 88 1534165324 24351243516 624536241 41635412635 3562351462 62413624153 99 42516425163 134******** 61325641325 31352641 5421534216 1634216534
1010 6245612345 3412345162 1354136524 5613524613 6325463251 25136251436 1111 62534625341 34256314256 5243562413 146143562 41625431625 5634256134 1212 3624362154 4126451263 26315246315 53642513642 2541625431 1526134526
数独解法
数独解题方法大全 作者:扬子活力论坛泥瓦匠整理:隱讀書生 数独这个数字解谜游戏,完全不必要用到算术!会用到的只是推理与逻辑。解题方法分两大类:直观法和候选数法。 直观法就是不需要任何辅助工具,从接到数独谜题的那一刻起就可以立即开始解题。绝不猜测。数独直观法解题技巧主要有:唯一解法、基础摒除法、区块摒除法、唯余解法、矩形摒除法、单元摒除法,余数测试法。 候选数法就是解数独题目需先建立候选数列表,根据各种条件,逐步安全的清除每个宫格候选数的不可能取值的候选数,从而达到解题的目的。 使用候选数法一般能解比较复杂的数独题目,但是候选数法的使用没用直观法那么直接,需要先建立一个候选数列表的准备过程。所以实际使用时可以先利用直观法进行解题,到无法用直观法解题时再使用候选数方法解题。 候选数法解题的过程就是逐渐排除不合适的候选数的过程,所以在进行候选数删除的时候一定要小心,确定安全的删除不合适的候选数,否则,很多时候只有重新做题了。有了计算机软件的帮助,使得候选数表的维护变得轻松起来。 数独候选数法解题技巧主要有:唯一候选数法、隐性唯一候选数法、区块删减法、数对删减法、隐性数对删减法、
三链数删减法、隐性三链数删减法、矩形顶点删减法、三链列删减法、关键数删减法、关连数删减法。 一、直观法: 1、唯一解法: 当某行已填数字的宫格达到8个,那么该行剩余宫格能填的数字就只剩下那个还没出现过的数字了。成为行唯一解。 当某列已填数字的宫格达到8个,那么该列剩余宫格能填的数字就只剩下那个还没出现过的数字了。成为列唯一解。 当某九宫格已填数字的宫格达到8个,那么该九宫格剩余宫格能填的数字就只剩下那个还没出现过的数字了。成为九宫格唯一解。 下面是例题: A行已经添入8个数字,A行只有数字3没有出现过,所以A9=3,这是行唯一解。
高难度的数独技巧窍门
-! 1 2 □ 4 D fi 1 8 9 A 8 1 3 B 7 6 1 Ei 9 A C 9 1 8 7 5 D 1 7 8 4 3 9 E 3 8 9 1 4 F 5 4 9 i 6 8 1 G 9 3 H 1 L 3 8 1 如左图,观察行 B ,我们发现除了 B3 单元格以外其余的八个单元格已经填入了 1、2、4、5、6、7、8、9,还有3没有填写, 所以3就应该填入B3单元格。这是行唯一 解法。 1 2 3 4 S 6 ? S 如左图,观察D7-F9这个九宫格, 我 们发现除了 E7单元格以外其余的八 个单元格已经填入了 1、2、3、4、6、7、 & 9,还有5没有填写,所以5就应该 填入E7单元格。这是九宫格唯一解法。 A 1 J R c D E F G E T fl 3 1. 5 B 2 41 1 3 1 ti 1 7 8 5 S 2 3 9 3 8 g 1 4 T 5 4 g T 2 3 0 a 1 2 3 1 6 1 3 e 1
! -单元唯一法在解题初期应用的几率并不高,而在解题后期,随着越来越多的单元格填上了数字, 使得应用这一方法的条件也逐渐得以满足。 △基础摒除法 基础摒除法是直观法中最常用的方法,也是在平常解决数独谜题时使用最频繁的方法。单元排除法使用得当的话,甚至可以单独处理中等难度的谜题。 使用单元排除法的目的就是要在某一单元(即行,列或区块)中找到能填入某一数字的唯一位置, 换句话说,就是把单元中其他的空白位置都排除掉。 那么要如何排除其余的空格呢?当然还是不能忘了游戏规则,由于1-9的数字在每一行、每一列、每一个九宫格都要出现且只能出现一次,所以: 如果某行中已经有了某一数字,则该行中的其他位置不可能再出现这一数字;如果某列中已经有了某一数字,则该列中的其他位置不可能再出现这一数字;如果某区块中已经有了某一数字,则该区块中的其他位置不可能再出现这一数字。 基础摒除法可以分为行摒除、列摒除和九宫格摒除。 如左图,观察D1-F3这个九宫格。由于11 格有数字9, 所以第1列其它所有单元格都不能填入9;由于B2格有数字 9,所以第2列其它所有单元格都不能填入9 ;由于D8格有 数字 9,所以行D其它所有单元格都不能填入9。这 样,D1-F3这个九宫格内只有E3单元格能够填入数字9。所 以E3单元格的答案就是9。 如左图,观察行H。由于C3格有数字4, 所以第3列其他 所有单元格不能填入数字4; 由于E8格有数字4,所以第8列其他所有单元格不能填入数 字4;由于I4格有数字4,所以G4-I6这个九宫格内其他所有 单元格不能填入数字4。这样行H中能够填入数字4的单元 格只有H9。所以H9单元格的答案就是4。
(完整版)数独教案--完整版
数独教案 基本项目 课程名称:感受数独魅力 授课对象:三到六年级学生 课程类型:逻辑思维课,选修课 教学材料:自编纲要 教学时间:一学期,每周1课时,共18课时 具体教学方案 一、指导思想 数学是神奇的世界,肯定有不少学生产生了浓厚的兴趣。为此,训练学生的思维活动是重中之重。数学思维活动在数学教学课堂中探求问题的思考、推理、论证的过程等一系列数学活动都是数学教学中实施思维训练的理论依据之一。因此,开展校本数独课程,一是能更好的促进学生数学思维能力的发展,符合课改的要求;二是填补了我们课改中的弱项。 二、教学目标 1、尊重学生的主体地位和主体人格,培养学生自主性、主动性,引导学生在掌握数学思维成果的过程中学会学习、学会创造。 2、将数学知识寓于游戏之中,教师适当穿针引线,把单调的数学过程变为艺术性的游戏活动,让学生在游戏中学习在玩中收获。 3、课堂上围绕“趣”字,把数学知识容于活动中,使学生在好奇中,在追求答案的过程中提高自己的观察能力,想象能力,分析能力和逻辑推理能力。力求体
现我们的智慧秘诀:“做数学,玩数学,学数学”。 三、教学措施 1、结合教材,精选小学数学的教学内容,以适应社会发展和进一步学习的需要。力求题材内容生活化,形式多样化,解题思路方程化,教学活动实践化。 2、教学内容的选编体现教与学的辨证统一。教学内容呈现以心理学的知识为基础,符合儿童认知性和连续性的统一,使数学知识和技能的掌握与儿童思维发展能力相一致。 3、教学内容形式生动活泼,符合学生年龄特点,赋予启发性,趣味性和全面性,可以扩大学生的学习数学的积极性。 4、每次数学思维训练课都有中心,有讨论有交流有准备。有阶段性总结和反思。 四、教学内容 数独初级入门课程
数独技巧
以下我们将叙述一道标准数独的全部解题过程,在此过程中涉及到的技巧有摒除法、余数法、区块法、数对法、X- Wing这几个常在数独书籍中会涉及到的技巧,文中将描述各个技巧的结构及作用效果,相信在看完解题过程之后,您能相当程度地掌握到数独的基本解题技巧,也能在解题的过程中发现数独给您带来的乐趣。 谜题如下图 第一招:摒除法 大家之前已阅读过数独的规则:在每个单元中,每个数字只能出现一次,那么也就意味着,如果一行已经出现了一个1,这行的其他格就不再有1,利用这个观点,引发出摒除法。 第1步:数字2对B1进行摒除
r1c8为2,则其所在R1不再有2; r2c4为2,则其所在R2不再有2; r9c2为2,则其所在C2不再有2, 在B1中还没有2,B1有6个空格可以填2,但其中5个空格被摒除了,只剩下r3c1,所以得到第一解:r3c1=2 这个方法因为是对宫实施摒除的,所以叫宫摒除法。宫摒除法是解题技巧里面最简单的一种,也是解题过程中使用最多的一种。其实解数独就是这么简单! 第2步:r1c3=7(宫摒余解,数字7对B1摒除) 第3步:r4c7=7(宫摒余解,数字7对B6摒除) , 第4步:数字7对C5进行摒除 r1c3为7;则其所在R1不再有7; r2c9为7,则其所在R2不再有7; r4c7为7,则其所在R4不再有7; r6c2为7,则其所在R6不再有7; r8c1为7,则其所在R8不再有7; r9c8为7,则其所在R9不再有7, 在C5中还没有7,C5有7个空格可以填7,但其中6个空格不能为7了,所以天元格r5c5=7 《 这个方法因为是对列实施摒除的,所以叫列摒除法,与其类似的还有行摒除法。行列摒除法也是很常用的方法。 见识了摒除法之后,大家是否尝试寻找另一个摒余解呢不好意思要给大家泼凉水了,因为这个盘势下已经找不到宫摒余解或者行列摒余解了,那怎么办呢,没关系,我们继续介绍其它的技巧。
数独解题技巧
数独解题技巧 1.直观法 (1)单元限定法:此处的单元指的是行、列或者是小九宫格。使用此种方法时有三种情况:当某行、列、小九宫格有八个单元格中已有数字,空白处必定为唯一 缺少的数字。 (2)单元排除法:在某一单元(行、列、小九宫格)中找到能填入某一数字的唯一位置,也就是把单元中其他的空白位置都排除掉。 (3)区块排除法: a)当某数字在某个小九宫格中可填入的位置正好都在同一行上,因为该小九宫格 中必须要有该数字,所以这一行中不在该小九宫格内的单元格上将不能再出现 该数字。 b)在某数字在某个小九宫格中可填入的位置正好都在同一列上,因为该小九宫格 中必须要有该数字,所以这一列中不在该小九宫格内的单元格上将不能再出现 该数字。 c)当某数字在某行中可填入的位置正好都在同一小九宫格上,因为该行中必须要 有该数字,所以该小九宫格中不在该行内的单元格上将不能再出现该数字。 d)当某数字在某列中可填入的位置正好都在同一小九宫格上,因为该列中必须要 有该数字,所以该小九宫格中不在该列内德单元格上将不能再出现该数字。 (4)唯一余解法:如果某一单元格所在的行、列、小九宫格中共出现了八种不同的数字,那么该单元格可以确定地填入还未出现过的数字。 (5)矩形排除法:如果一个数字在某两行中能填入的位置正好在同样地两列中,则这两列上其他的单元格中将不能再出现这个数字;或者如果一个数字在某两列 中能填入的位置正好在同样地两行中,则这两行的其他的单元格中将不能再出 现这个数字。 (6)直观扫描法 (7)逐行、逐列扫描法 2.候选数法 (1)显示唯一法:扫描候选数栅格表,如果哪个单元格中只剩下一个候选数,就可以应用显示唯一法,在该单元格中填入这个数字,并在相应行、列、小九宫格 的候选数中删除该数字。 (2)隐式唯一法:若一个单元格内德候选数不止一个,但该单元格所在的行、列、小九宫格内,只有它含有某一个数字,那么这个单元格就可以直接填这个数字。 (3)显式对法:指在一个行、列、小九宫格中,如果有两个单元格都包含且只包含相同的两个候选数,则这两个候选数字不能再出现在该行、列、小九宫格的其 他单元格的候选数中。 (4)隐式数对法:在同一行、列、小九宫格中,如果一个数对(两个数字)正好只出现且都出现在两个单元格中,则这两个单元格的候选数中的其他数字可以被 删除。其他候选数被删除后,隐式数对就变成了显式数对。 (5)矩形顶点法:当某个候选数在某两行(列)仅出现相同两列(行)上,则这个候选数就可以从这两列(行)的其他单元格上删除掉。
数独游戏简介
数独游戏简介 数独游戏是一种源自18世纪末的瑞士的游戏,后在美国发展、并在日本得以发扬光大的数学智力拼图游戏。 拼图是九宫格(即3格宽×3格高)的正方形状,每一格又细分为一个九宫格。在每一个小九宫格中,分别填上1至9的数字,让整个大九宫格每一列、每一行的数字都不重复。数独的玩法逻辑简单,数字排列方式千变万化。不少教育者认为数独是锻炼脑筋的好方法。 一、数独的历史 早在数千年前,中国人就发明了九宫图:在9个方格中,横行和竖行的数字总和是相同的。“数独”也不是什么新生事物,已经存在了数百年。18世纪,瑞士数学家莱昂哈德·欧勒发明了“拉丁方块”,但并没有受到人们的重视。直到20世纪70年代,美国杂志才以“数字拼图”的名称将它重新推出。日本随后接受并推广了这种游戏,并且将它改名为“数独”,大致的意思是“独个的数字”或“只出现一次的数字”。 同类似的填字游戏不同,数独受欢迎的原因之一是它既不需要丰富的百科知识,也不要掌握大量的词汇,这使其能迅速为孩子和初学者所接受。根据游戏开始时的方格中已有的数字和位置,数独难易程度不同,有些复杂的甚至令数学家也不能完成。据著名的动游戏开发商Astraware Ltd.预计,移动数独游戏的版本多达几十种,Palm和Windows Mobile
设备版本的数独游戏就各有20种左右。Sudokumo推出的移动数独游戏,能够下载到大多数手机中。这家位于英国的游戏软件公司表示,已经在全球卖出了7500套数独游戏,而且来自用户的兴趣还在增加。 二、数独的玩法 数独的谜题就是一个三纵三列的9个九宫图,有些单元格中已经填入了值,另外的单元格则为空,等待解题者来完成。数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。迷题中包含有9x9=81个单元格,每个单元格仅能填写一个值。规则只有一个,即使1-9每个数字在每一行、每一列和每一宫中都只出现一次,整个大九宫格每一列、每一行的数字都不重复,把81个单元格都填上了数字就完成了这个数独题。 三、数独的基本解法 1,排除法(摒除法) 摒除法:用数字去找单元内唯一可填空格,称为摒除法,数字可填唯一空格称为排除法。 根据不同的作用范围,可分为下述三种: 数字可填唯一空格在「宫」单元称为宫排除,也称宫摒除法。
数独解法技巧
数独解法(一) 九宫格摒除解 对第一次接触数独游戏,接受了1~9的数字在每一行、每一列、每一个九宫格都只能出现一次的规则后,开始要解题的玩家来说,基础摒除法绝对是他第一个想到及使用的方法,十分的自然、也十分的简易。如果能够细心、系统化的运用基础摒除法,一般报章杂志或较大众化的数独网站上的数独谜题几乎全部可解出来。只不过大部分的玩家都不知如何系统化的运用基础摒除法罢了! 基础摒除法虽然简单,但在寻找解的过程中,仍然要分成三个部分:寻找九宫格摒除解、寻找列摒除解、寻找行摒除解。不要说是初入门者,即使是很多未接受过本讯息者,也常常会遗漏了行、列摒除解的寻找。对一些粗心的玩家来说,即使是九宫格摒除解也常被跳着做,所以解起题来就会感到不是十分顺手。 1.九宫格摒除解的寻找 九宫格摒除解的系统寻找是由数字1开始一直到数字9,周而复始,直到解完全题或无解时为止;每个数字又需从上左九宫格起,直到下右九宫格,周而复始,同样要不断重复到解完全题或无解时为止。
<图2.1.1> 以<图2.1.1>的解题为例:先从数字1开始,并由上左九宫格起寻找九宫格摒除解,会影响上左九宫格的数字,一定存在第1列~第3列以及第1行~第3行如<图2.1.2>的绿色区域。 <图2.1.2> 本区域已存在的数字1共有两个,它们分别存在(2,9)及(5,1);其中(2,9)的1将摒除第2列其它宫格再填入数字1的可能,因为依照规则每一列只能有一个数字1,如果再在本列填入数字1,那么本列就会有两个1了。同理,(5,1)的1则将摒除第1行其它宫格再填入数字1的可能,其示意图如<图2.1.3>。
<图2.1.3> 对上左九宫格的摒除仅能到此地步,我们可以很容易的发现:本九宫中还有3个宫格不在被摒除的区域中,意即:这3个宫格都仍有可能填入数字1,依不可猜测的原则,本九宫格暂时不予处理。 接下来我们要尝试在上中九宫格寻找是否有九宫格摒除解1:会影响上中九宫格的数字,一定存在第1列~第3列以及第4行~第6行。本区域已存在的数字1共有3个,它们分别存在(2,9)、(4,6)及(9,5),其摒除的范围示意图如<图2.1.4>。 <图2.1.4>
数独游戏程序
%数独游戏程序,可以破解绝大部分数独题。 %用法:将所有文件复制到MATLAB工作目录下,或是将MATLAB工作目录修改为本文件夹所在路径。 %A是一个初始的99的方阵,空白处用0代替,调用TT=shudu(A),则生成结果。 function TT=fill1(A) T=A; i=1; n1=0;n2=0; flag1=judge1(T); while i<10 n1=0;n2=0; for j=1:9 if T(i,j)==0&i~=flag1(:,1)&j~=flag1(:,2)&iden(i,j,1,T)==0 n1=n1+1; end end if n1==1 for j=1:9 if T(i,j)==0&i~=flag1(:,1)&j~=flag1(:,2)&iden(i,j,1,T)==0 T(i,j)=1; flag1=judge1(T); end end end for j=1:9 if T(j,i)==0&j~=flag1(:,1)&i~=flag1(:,2)&iden(j,i,1,T)==0 n2=n2+1; end end if n2==1 for j=1:9 if T(j,i)==0&j~=flag1(:,1)&i~=flag1(:,2)&iden(j,i,1,T)==0 T(j,i)=1; flag1=judge1(T); end end end if n1==1|n2==1 i=0; end i=i+1; end TT=T;
function TT=fill2(A) T=A; i=1; n1=0;n2=0; flag2=judge2(T); while i<10 n1=0;n2=0; for j=1:9 if T(i,j)==0&i~=flag2(:,1)&j~=flag2(:,2)&iden(i,j,2,T)==0 n1=n1+1; end end if n1==1 for j=1:9 if T(i,j)==0&i~=flag2(:,1)&j~=flag2(:,2)&iden(i,j,2,T)==0 T(i,j)=2; flag2=judge2(T); end end end for j=1:9 if T(j,i)==0&j~=flag2(:,1)&i~=flag2(:,2)&iden(j,i,2,T)==0 n2=n2+1; end end if n2==1 for j=1:9 if T(j,i)==0&j~=flag2(:,1)&i~=flag2(:,2)&iden(j,i,2,T)==0 T(j,i)=2; flag2=judge2(T); end end end if n1==1|n2==1 i=0; end i=i+1; end TT=T; function TT=fill3(A) T=A; i=1; n1=0;n2=0;