Rumah  >  Artikel  >  hujung hadapan web  >  Javascript 实现的数独解题算法网页实例_javascript技巧

Javascript 实现的数独解题算法网页实例_javascript技巧

WBOY
WBOYasal
2016-05-16 17:19:561517semak imbas

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)当所有的路径搜索下来,答案不是唯一的情况,是和数独游戏的宗旨相悖的。

以下部分是全部代码,为方便阅读,调试信息未删除。

复制代码 代码如下:


 
  数独解题程序

  <script><BR> function keygo(evt,obj){<BR> key = window .event?evt.keyCode:evt.which;<BR> var next=obj.tabIndex ;<BR> var inputs=document.getElementsByTagName("input");<BR> if (key==38){//鈫</script>
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn