ホームページ >ウェブフロントエンド >jsチュートリアル >Javascript_javascript スキルで実装された数独問題解決アルゴリズムの Web ページの例

Javascript_javascript スキルで実装された数独問題解決アルゴリズムの Web ページの例

WBOY
WBOYオリジナル
2016-05-16 17:19:561544ブラウズ

1) ご質問をいただきましたら、まずわかっている条件に基づいてデータの予備的な分類と分析を行います。

9マス目の「決められた項目」を全て埋めて、「考えられる選択肢」に印を付けるのと同じです。

関数refreshStat()

2) その後、思考は推測・検証サイクルの段階に入ります。

9 マスのグリッドでは、「可能なオプション」を試して、既存の条件に違反するかどうかを確認できます。

すべての新しいブランチの最終結果は、回答/エラーの 2 つだけです。

コードをコピーします コードは次のとおりです:
While (true) {
var a = setone ();
var b=refreshStat();
if(!a||b){ // a==false または b==ture の場合、ループから抜け出すことができます
Break;
}
}

人間の脳の実際の思考プロセスでは、選択肢が少ない分岐を最初にたどることも含まれます。
つまり、プログラムの実装も point/2-branch/3-branch/....

と決まります。

3) すべてのパスを探索すると、答えは 1 つだけではなくなり、数独ゲームの目的に反します。

次の部分はコード全体です。読みやすいように、デバッグ情報は削除されていません。

コードをコピー コードは次のとおりです:


 
  数独解题程序

  <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){//↑<br>           if (next -9>=0 ) {<br>               inputs[next-9].select()<br>           }<br>       }<br>       if (key==40){//↓<br>           if (next +9<81 ) {<BR> inputs[next+9].select()<BR> }<BR> }<BR> if (key==37){//←<BR> if (next -1>=0 ) {<br>               inputs[next-1].select()<br>           }<br>       }<br>       if (key==39){//→<br>           if(next+1<81)inputs[next+1].select();<BR> }<BR> }<BR> </script>
 





可以文本拷贝到下框中后点粘贴,从左到右从上往下的81个数字序列,未填为0,中间非数字字符将忽略