第6講 数独を作ろう!
第1話 ラテン方陣
まず数独とは何でしょうか。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
4 | 5 | 6 | 7 | 8 | 9 | 1 | 2 | 3 |
7 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 |
2 | 1 | 4 | 3 | 6 | 5 | 8 | 9 | 7 |
3 | 6 | 5 | 8 | 9 | 7 | 2 | 1 | 4 |
8 | 9 | 7 | 2 | 1 | 4 | 3 | 6 | 5 |
5 | 3 | 1 | 6 | 4 | 2 | 9 | 7 | 8 |
6 | 4 | 2 | 9 | 7 | 8 | 5 | 3 | 1 |
9 | 7 | 8 | 5 | 3 | 1 | 6 | 4 | 2 |
上の表をごらんになってどんなことにお気づきになるでしょうか。
どの列やどの行を見ても1から9までの数字が1つずつ入っています。
それだけでしょうか。
そうです。
色別の正方形に入っている数字も1から9まで1つずつ入っています。
こういうものを数独といいます。
詳しくは、ニコリ公式パズルガイド「数独」
- webニコリ
をご覧ください。
今回は数独を作らせるプログラムに挑戦します。
このサイトにも数独のプログラムが載せられていますが、
それを見ないでご自分で作成できるようになることが今回の目的です。
もちろん、初心者を対象にしている本講義ですから、
皆さんを丁寧にサポートしていきます。
この講義を順に読んでいけば、ご自分で作成できるはずです。
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
まず、この部分の作成を考えましょう。
1から9までの数字が1つずつ入っています。
結局1から9までの順列が順に入っています。
そこでこのような方陣を順列方陣と呼びましょう。
そして、n次順列方陣の作成を考えましょう。
この際に、
第2講 再帰的呼び出しで魔方陣を作ろう!
第3話 プログラム本体(再帰的呼び出しプロシージャ)は?
で作った魔方陣プログラム1が参考になります。
もちろん、ここでは和の条件入りませんからそこは削除することになります。
では皆さん挑戦しましょう。
第2話へ
VB入門講義応用編トップへ
VB入門講義トップへ