第11講 Subプロシージャの再帰的使用の学習
第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 |
各セルは、4つの条件を満たさなければなりません。
@ 1から9までの数字が入る。
A 列の数字が重複してはならない。
B 行の数字が重複してはならない。
C ブロックの数字が重複してはならない。
すべてのセル(枠)は、同一の条件なのです。9×9=81の同じ構造=同じ条件をもつセル=細胞の集まりなのです。
結局、81個のセルに数字を入れていくわけですが、81回同じ事が繰り返されます。
魔方陣も
36 | 32 | 4 | 3 | 5 | 31 |
12 | 29 | 27 | 10 | 26 | 7 |
19 | 17 | 22 | 21 | 14 | 18 |
13 | 20 | 16 | 15 | 23 | 24 |
25 | 11 | 9 | 28 | 8 | 30 |
6 | 2 | 33 | 34 | 35 | 1 |
各セルは、
@ 1から36までの数字が入る。
A 各行の合計がすべて111である。
B 各列の合計がすべて111である。
という同一条件の繰り返しです。
ただし、対角線上のセルにはさらに
C 対角線の合計が111である。
という条件が加わりますが。
しかし、各セルの基本構造は基本的に同一です。
これもほぼ同じ細胞が36個集まって、6次魔方陣が構成されています。
人間も、たったひとつの受精卵から細胞分裂をして成長してきたのです。
細胞は、胃の細胞になったり、皮膚の細胞になったりと、少しずつ条件が異なりますが、
ESP細胞を見ればわかるとおり、ちょっとした細工で万能細胞になります。
細胞分化しても、DNA構造は同一なのです。
魔方陣も対角線上の細胞だけ、少し分化していますが、基本構造は同一です。
8次順列も各セルは、
@ 1から8までの数字が入る。
A 他のセルと重複してはならない。
と同一条件の繰り返しです。基本構造が同じセル8つから出来ています。
同一構造の繰り返し=同一条件の繰り返し、こういったものがプロシージャの再帰的使用に向いているのです。
VBA講義第1部へ
vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
数学研究室に戻る