當前位置:首頁 » 編程軟體 » 編程數獨

編程數獨

發布時間: 2022-09-14 21:00:23

c語言 編程 數獨

當年我們做大程的時候本來也想做數獨來著,後來時間不夠沒做成.不知道專業人士怎麼編的,只能提供一點當時的思路給你,
1.9*9個格子對應一個數組A,數組的第一個值從0到9表示其中填的數字,0就是不填,另一個值表示它在桌面上的位置就是坐標
2.需要10張圖片,空白和9個數字
3.通過對滑鼠點擊的反應改變格子數組A的值,且將相應圖片覆蓋在相應坐標上
4.事先輸入若干組數組A的值(每組81個數),作為題庫
5.進行游戲時隨機抽取題庫中的一組,再隨機抽取若干格子顯示出來,其他留白.
6.填完後用三個循環判斷下每行每列每塊是否有相同的數字,沒有則通過.
具體編按鈕、放圖、滑鼠點擊響應等各種問題查一下書,有很多書上有很多教的這種一小段一小段的程序源代碼,直接抄下就行了。
加油^^

② 誰能告訴我數獨游戲的編程思維啊

一、解數獨
1、標記
2、利用各種方法減少標記數量,例如顯性數對刪減法、隱形唯一數法、隱形數對法、區域刪減法、區塊刪減法、三四鏈數刪減法等等
3、填充,利用唯一值法,如果那個標記中只有一個可填了,這就是結果了。
4、假設法,如果各種方法(至少你知道的)都用了還是沒有唯一數,那隻能假設了,按一定順序某個單元格標記中假設一個就是要填充的數,然後重復上面的步驟,如果得到無解(就是出現某個單元格的沒有可填的數),那就退回,換一個數繼續。(一般這個過程用遞歸完成)
二、如何生成題目
會解數獨後,生成就不是問題了,我的方法是分為兩步首先隨機填充1-9到第一行,然後用上訴方法產生一個解。再次,隨機一個一個數刪除,每刪除一個數重復上訴方法,看看是否是唯一解,如果是繼續刪除(不是就恢復,刪其它的),直到達到一定目的為止。這樣就產生一個數獨題目。

③ 如何編程快速出數獨題目

這個網上有很多演算法的 基本思路就是:找到每個空格的可能數字,從可能數字數最少的空格開始填寫,遇到錯誤就返回,直到填完所有空格
我也用網上的演算法做了matlab和c的數獨求解器 可以用

④ 學數獨好呢!還是編程好

數獨是學習解決問題的思路,編程是學習賴以生存的手段。
只會編程不會數獨可能人生少了點什麼但不會混不下去,只會數獨不會編程可能連吃飽都是個問題。

⑤ 求數獨的編程思想

我用EXCEL的宏編過,但是演算法不太好,簡單得可以作出,難得的就不行了
想法如下:
建立一個X(a,b,c,d)的列陣,4個數為(1,2,3)中的一個
a,b表示大的33陣(就是你所說的"區")的位置
c,d表示在特定33陣(特定"區")中的位置
那麼每個特定的X表示特定的空格位置
每個X初始都=123456789
X的值表示這個空格可能取的數
然後已經給出的條件的X改為條件給出的數

現在我雖然不知道剩下的空格是哪個數,但是我可以知道特定的空格中不可以是哪個數(按規則)
step1
所以分別檢查每個空格
將不可能出現的數字從123456789中刪去(比如這個區已經存在1,4,5那麼我們把區中其他的空格的1,4,5去掉,變成2,3,6,7,8,9)
這樣X的位數就越來越小了
當X的長度等於1的時候那麼這個空格就是唯一的了
step2
檢查每一個區中的9個數中含有幾個1,如果只有1個,那麼含有1的哪個空格就是1了,(1-9,依次檢驗),(行或者列也要分別檢驗)
step3
檢查是不是每個數都小於10,如果不是
檢查經過step1和step2後,各個數字有沒有變化,如果有,那麼重復step1,step2.沒有的話(說明按剛剛的步驟只能解到這樣了)結束循環

我編的只是為了方便幫我解題,太難的做不出,但是用的話可以解出很多數了,人在看一下,很快就解出了

如果一定要編到底的話,我也想過
然後在X中尋找1個2位數,假定2位數中的一個是正確的,然後在按剛剛的步驟,如果結果有矛盾則就是另一個數
希望對你有幫助

熱點內容
sim卡的密碼怎麼設置密碼 發布:2025-05-10 23:41:09 瀏覽:715
自定義緩存註解 發布:2025-05-10 23:40:06 瀏覽:117
sqltext類型長度 發布:2025-05-10 23:30:21 瀏覽:978
圖形AI演算法 發布:2025-05-10 23:30:19 瀏覽:182
java上傳的文件在哪裡 發布:2025-05-10 23:30:06 瀏覽:159
議長訪問台灣 發布:2025-05-10 23:22:46 瀏覽:433
啟動電機如何配置開關 發布:2025-05-10 23:21:21 瀏覽:959
三維數組存儲 發布:2025-05-10 23:14:35 瀏覽:980
普通電腦架設成雲伺服器 發布:2025-05-10 23:13:56 瀏覽:807
為什麼找回密碼總是說驗證碼 發布:2025-05-10 23:04:07 瀏覽:183