資源簡介
此Matlab程序可以生成具有四種難度的數獨
代碼片段和文件信息
function?generator(xD0)????%x為完整數獨圖,D0為難度
t1=1;????????????????
i0=ceil(rand(1)*9);
j0=ceil(rand(1)*9);
x(i0j0)=0;
x_completedseed=x;?????????????
a=0;b=0;c=0;d=0;
z=0;
s1=0;
n0=0;
while?~isempty(find(x==0))
x_seed1=x;
i1=ceil(rand(1)*9);
j1=ceil(rand(1)*9);
if?x(i1j1)~=0
x(i1j1)=0;
n0=n0+1;
end
x_seed=x;
sudoku1;
if?isempty(find(x==0))
????if?D>D0
????????x_seed
????????if?D>4
?????????????D=4
???????????end
????????a
????????b
????????c
????????d
????????difficulty=floor(D)
??????????break
????end
????x=x_seed;
end
if?t1==0?????????????%解決不了,x返回原數獨表
???????x????????????????????????%‘Sorryit?is?too?hard‘
???????x=x_completedseed;????????????????????
?????t1=1;
????n0
end
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????755??2010-06-19?21:19??sudoku\generator.m
?????文件???????1253??2010-06-16?19:51??sudoku\hidden_single.m
?????文件???????4094??2010-06-16?20:00??sudoku\locked_candidate.m
?????文件???????4112??2010-06-16?19:53??sudoku\Naked_pair.m
?????文件????????166??2010-06-16?19:51??sudoku\naked_single.m
?????文件????????587??2010-06-14?09:46??sudoku\ssg.m
?????文件????????537??2010-06-19?21:21??sudoku\sudoku.m
?????文件????????565??2010-06-19?21:19??sudoku\sudoku1.m
?????文件??????19968??2010-06-19?21:22??sudoku\實驗puzzle.xls
?????目錄??????????0??2010-06-19?21:23??sudoku
-----------?---------??----------?-----??----
????????????????32037????????????????????10
評論
共有 條評論