第15講 リスト法による魔方陣末項確定法自動生成ソフトの高速化
第3話 リスト法をどうやって実現するか?
では皆さんプログラミングに挑戦するための
ヒントを書いておきましょう。
リストとリスト数が、構造解析にとって重要な生命線です。
どんどんセルに数字が埋まっていくと、
リスト数が減っていくわけですが、
1 | 5 | 3 | |
* | 2 | 4 | * |
* | 13 | 15 | * |
14 | * | * | 16 |
魔方陣生成プログラムは、
ピンクなどで試行錯誤を繰り返しますので、
リスト自体を削除しては試行錯誤ができなくなります。
リスト数は、試行錯誤によって増減を繰り返しますが、
リスト自体はすべて維持していなければなりません。
リスト数の増減に従い、リストの順番を変更させれば良いのです。
1 | * | * | |
* | * | * | * |
* | * | * | * |
* | * | * | * |
例えば、1番目のセルに数字の1を入れたとき、
リスト数は16から15になります。
このときリスト順を
ls(0)=16
ls(1)=2
ls(2)=3
・
・
・
ls(14)=15
ls(15)=1
としておけば良いのです。
リスト数が15に減っていますので、
実際に使われる配列はls(14)=15ですから、
1はリストから外されています。
そして、試行錯誤で1番目のセルに戻ってきたとき、
ls(0)=1
ls(1)=2
ls(2)=3
・
・
・
ls(14)=15
ls(15)=16
と元に戻してから、
ls(0)=1
ls(1)=16
ls(2)=3
・
・
・
ls(14)=15
ls(15)=2
とすれば良いわけです。
初心者のためのc++ vc++ c言語 入門 基礎から応用までへ
初心者のための excel 2007 2010 2013 vba マクロ 入門 基礎から応用まで
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義トップへ
VB講義基礎へ
専門用語なしのC++入門へ
専門用語なしのJava入門へ
専門用語なしのVBA入門
数独のページ
魔方陣のページ
数学研究室に戻る
本サイトトップへ