數獨終局生成(3)

2021-09-03 01:44:26 字數 1412 閱讀 9764

要做的工作

1.引數判別

2.生成並輸出數獨終局

(1)引數n;

(2)模板數獨;

(3)衍生數獨;

(4)建立衍生數獨

(5)輸出數獨終局

考慮設計那些物件呢?

1.引數識別物件:argcheck

變數(1)引數判別變數checkresualt

-----表明使用者引數的合法與否,辨別使用者想要做那種操作。

方法(1)建構函式argcheck(int arc = 0, char** argv = null)構建物件

(2) check()函式;對引數的合法性以及引數進行判斷,結果存入變數checkresualt

(3)getresualt();提供checkresualt

**如下:

class argcheck

//提供checkresualt

int getresult()

//對引數的合法性以及引數進行判斷,結果存入變數checkresualt並返回

int check();

};

int check()實現如下:

//對引數的合法性以及引數進行判斷,結果存入變數checkresualt並返回

int argcheck::check()

if (strcmp("-c", argv[1]) != 0 && strcmp("-s", argv[1]) != 0)//-s和-c檢查

if (strcmp("-c", argv[1]) == 0)

return checkresult = forc;

} else

}//判斷輸入是否問純數字

bool ispurenumber(char* s)

3數獨生成物件sudokufactory

功能描述:檢查剩餘需求量,生成新的數獨。

宣告**

class sudokufactory 

// 檢查剩餘需求量

bool isenough()

//生成第乙個模板

void createfirstmodel();

//更新模板

void refreshmodel();

//在原始陣列基礎上進行變換並輸出36個排列

void newfrommodel();

//生成終局檔案

string createsudokufile();

string getsudokustore()

};

具體實現檢視專案sudoko.cpp檔案。

生成數獨終局原型基本完成,進入優化階段。

java 數獨遊戲生成

數獨程式 public class shudu public static void main string args else 填充成功 if iscorret i,j else 輸出結果 for int i 0 i 9 i system.out.println 是否滿足行 列和3x3區域不重複的...

軟體工程基礎 個人專案報告之生成數獨終局

專案位址 1 個人專案報告之可行性分析 需求分析 概要設計 2 個人專案報告之生成數獨終局 3 個人專案報告之生成終局 優化 4 個人專案報告之求解數獨 5 個人專案報告之求解 優化 6 個人專案報告之生成數獨題目 7 個人專案報告之單元測試及分支覆蓋率 解題思路 首先,我們應該明確一點的是,9 9...

數獨的生成與破解演算法分析

這樣減少了9個深度在破解,發現成功的概率還是只有50 左右,仍然還是會有近一半的可能陷入死迴圈的遞迴中,所以還是需要進一步減少深度。在此期間,我發現如果計算機能夠解出數獨,時間是幾百毫秒的,如果解不出,估計電腦燒起來了也動不了,所以這時候可以選擇折中的辦法,減少深度,增大重複計算的次數。也就是說在已...