Javascript實(shí)現(xiàn)的數(shù)獨(dú)解題算法網(wǎng)頁(yè)實(shí)例_javascript技巧
來源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-27 21:14:29
Javascript實(shí)現(xiàn)的數(shù)獨(dú)解題算法網(wǎng)頁(yè)實(shí)例_javascript技巧
Javascript實(shí)現(xiàn)的數(shù)獨(dú)解題算法網(wǎng)頁(yè)實(shí)例_javascript技巧:1)當(dāng)我們拿到一個(gè)題目時(shí),首先會(huì)根據(jù)已經(jīng)知道的條件,進(jìn)行數(shù)據(jù)的初步整理和分析。 相當(dāng)于填寫出9宮格里,所有的確定項(xiàng),以及標(biāo)記可能選項(xiàng)。 function refreshStat() 2)此后,思考會(huì)進(jìn)入 猜測(cè)/驗(yàn)證 的循環(huán)階段。 在9宮格中,可以對(duì)于可能選項(xiàng)進(jìn)
導(dǎo)讀Javascript實(shí)現(xiàn)的數(shù)獨(dú)解題算法網(wǎng)頁(yè)實(shí)例_javascript技巧:1)當(dāng)我們拿到一個(gè)題目時(shí),首先會(huì)根據(jù)已經(jīng)知道的條件,進(jìn)行數(shù)據(jù)的初步整理和分析。 相當(dāng)于填寫出9宮格里,所有的確定項(xiàng),以及標(biāo)記可能選項(xiàng)。 function refreshStat() 2)此后,思考會(huì)進(jìn)入 猜測(cè)/驗(yàn)證 的循環(huán)階段。 在9宮格中,可以對(duì)于可能選項(xiàng)進(jìn)
1)當(dāng)我們拿到一個(gè)題目時(shí),首先會(huì)根據(jù)已經(jīng)知道的條件,進(jìn)行數(shù)據(jù)的初步整理和分析。
相當(dāng)于填寫出9宮格里,所有的“確定項(xiàng)”,以及標(biāo)記“可能選項(xiàng)”。
function refreshStat()
2)此后,思考會(huì)進(jìn)入 猜測(cè)/驗(yàn)證 的循環(huán)階段。
在9宮格中,可以對(duì)于“可能選項(xiàng)”進(jìn)行嘗試,驗(yàn)證是否違背現(xiàn)有條件。
每一個(gè)新的分支,最后的結(jié)果無非是兩種,答案/出錯(cuò)。
代碼如下:
while(true){
var a=setOne();
var b=refreshStat();
if(!a||b){ //如果 a==false 或者 b==ture,則可以跳出循環(huán)
break;
}
}
實(shí)際人腦思考的過程,也是要先遍歷選項(xiàng)較少的分支。
所以,程序?qū)崿F(xiàn)上也是 確定點(diǎn)/2叉分支/3叉分支/....
3)當(dāng)所有的路徑搜索下來,答案不是唯一的情況,是和數(shù)獨(dú)游戲的宗旨相悖的。
以下部分是全部代碼,為方便閱讀,調(diào)試信息未刪除。
代碼如下:
數(shù)獨(dú)解題程序 聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
Javascript實(shí)現(xiàn)的數(shù)獨(dú)解題算法網(wǎng)頁(yè)實(shí)例_javascript技巧
Javascript實(shí)現(xiàn)的數(shù)獨(dú)解題算法網(wǎng)頁(yè)實(shí)例_javascript技巧:1)當(dāng)我們拿到一個(gè)題目時(shí),首先會(huì)根據(jù)已經(jīng)知道的條件,進(jìn)行數(shù)據(jù)的初步整理和分析。 相當(dāng)于填寫出9宮格里,所有的確定項(xiàng),以及標(biāo)記可能選項(xiàng)。 function refreshStat() 2)此后,思考會(huì)進(jìn)入 猜測(cè)/驗(yàn)證 的循環(huán)階段。 在9宮格中,可以對(duì)于可能選項(xiàng)進(jìn)