第13講 プロシージャの再帰的使用による数独解答自動生成
第1話 ラテン方陣

数学者オイラーの考えたものに
ラテン方陣というのがあります。
このラテン方陣が数独の基になっているといわれます。
3次・4次・5次・7次のラテン方陣の例を挙げましょう。

1 2 3
3 1 2
2 3 1


4 2 1 3
2 4 3 1
3 1 2 4
1 3 4 2


1 2 4 5 3
4 3 5 2 1
2 4 1 3 5
5 1 3 4 2
3 5 2 1 4


1 2 3 4 5 6 7
2 1 4 3 6 7 5
3 4 1 2 7 5 6
4 5 6 7 1 2 3
5 6 7 1 4 3 2
7 3 5 6 2 1 4
6 7 2 5 3 4 1


この例からラテン方陣とは何かお分かりでしょう。
1~nまでの数字が列と行に
重複なく漏れなく入っている方陣です。

つまり、
9次または16次のラテン方陣なら
数独からブロックの条件を外したものです。

1 2 3 4 5 6 7 8 9
2 1 4 3 6 5 8 9 7
3 4 1 2 7 8 9 5 6
4 3 2 1 8 9 6 7 5
5 6 7 8 9 1 2 3 4
6 5 8 9 1 7 3 4 2
7 8 9 6 3 4 5 2 1
9 7 6 5 2 3 4 1 8
8 9 5 7 4 2 1 6 3

逆に言うとラテン方陣にブロックの条件を付け加えると、
数独になる訳です。
皆さん第12講第5話で作った魔方陣自動生成ソフト
を改良してラテン方陣を作らせるソフトを作成しましょう。
vba


第12講第10話へ 第2話へ



トップ

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

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