1)当我们拿到一个题目时,首先会根据已经知道的条件,进行数据的初步整理和分析。
相当于填写出9宫格里,所有的“确定项”,以及标记“可能选项”。
function refreshstat()
2)此后,思考会进入 猜测/验证 的循环阶段。
在9宫格中,可以对于“可能选项”进行尝试,验证是否违背现有条件。
每一个新的分支,最后的结果无非是两种,答案/出错。
复制代码 代码如下:
while(true){
var a=setone();
var b=refreshstat();
if(!a||b){ //如果 a==false 或者 b==ture,则可以跳出循环
break;
}
}
实际人脑思考的过程,也是要先遍历选项较少的分支。所以,程序实现上也是 确定点/2叉分支/3叉分支/....
3)当所有的路径搜索下来,答案不是唯一的情况,是和数独游戏的宗旨相悖的。
以下部分是全部代码,为方便阅读,调试信息未删除。
复制代码 代码如下:
数独解题程序