中南民族大学管理学院 学生课程设计报告 课题名称: java课程设计 选题名称: 九宫格数独 年 级: 2009 专 业: 信息管理与信息系统 学 号: 09071248 姓 名: 指导教师: 完成地点: 管理学院综合实验室 完成日期: 2011年9月25日 2011学年至2012学年度第一学期 目 录 一 、 题目描述 3 二、 问题分析 3 三、 问题分解 4 四、 系统设计 6 五、 系统实现 11 六、 系统设计和软件发布 24 七、 难点及关键技术分析 31 八 、 心得体会 32 3 一、题目(问题)描述 在9×9格的大九宫格中有 9个 3×3格的小九宫格,并提供一定数量的数字
根据这些数字,利用逻辑和推理,在其它的空格上填入 1到 9的数字
每个数字在每个小九宫格内只能出现一次,每个数字在每行、每列也只能出现一次
这种游戏只需要逻辑思维能力,与数字运算无关
虽然玩法简单,但数字排列方式却千变万化,所以不少教育者认为数独是锻炼脑筋的好方法
二、问题分析 1、基本解法:利用 1 ~ 9 的数字在每一行、每一列、每一宫都只能出现一次的规则进行解题的方法
实际寻找解的过程为: 使用单元排除法的目的就是要在某一单元(即行,列或区块)中找到能填入某一数字的唯一位置,换句话说,就是把单元中其他的空白位置都排除掉
那么要如何排除其余的空格呢
当然还是不能忘了游戏规则,由于 1-9的数字在每一行、每一列、每一个九宫格都要出现且只能出现一次,所以: 如果某行中已经有了某一数字,则该行中的其他位置不可能再出现这一数字 如果某列中已经有了某一数字,则该列中的其他位置不可能再出现这一数字 如果某区块中已经有了某一数字,则该区块中的其他位置不可能再出现这一数字
4 单元格:数独中最小的单元,标准数独中共有81个; 行:横向9个单元格的集合; 列:纵向9个单元格的集合; 宫:粗黑