第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
とすれば良いわけです。

第2話へ 第4話へ



トップ

初心者のためのc++ vc++ c言語 入門 基礎から応用までへ
初心者のための excel 2007 2010 2013 vba マクロ 入門 基礎から応用まで
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義トップへ
VB講義基礎へ
専門用語なしのC++入門へ
専門用語なしのJava入門へ
専門用語なしのVBA入門

数独のページ
魔方陣のページ
数学研究室に戻る
本サイトトップへ