第6講 配列
第1話 なぜ配列が必要?
第10講では魔方陣の自動生成に、
さらにずっと先の講では数独(ナンプレ)の問題自動生成などに挑戦する予定になっています。
魔方陣とは、
001
のような方陣(正方形の表)をいいます。
いったいどこが魔法の方陣なのでしょうか。
よく観察されるとわかります。
考えていただくために行間を空けます。

例えば、すべての行合計(横合計)を計算してみて下さい。







すべて同じです。
それだけですか。
001







すべての縦合計も同じです。
まだです。
001







そうです。対角線合計も同じです。
つまり、すべての横合計・縦合計・対角線合計が同じになる方陣を、
魔方陣というわけです。
よく魔法陣と間違って書いている人がいますが、
魔法の方陣で魔方陣です。
001
のように一辺が6のとき6次魔方陣といいます。
すべての横合計・縦合計・対角線合計が同じになるという厳しい条件だから、
6次魔方陣の答えは、1個程度しかないとお思いになるかもしれませんが、
現時点では解答数がどれだけになるかはわかっていません。
左右対称や点対称なもの、鏡像は同じであると定義すると、
3次魔方陣は1個
4次魔方陣は880個
5次魔方陣は約3億個
あることはわかっています。
最後の5次はコンピュータを40台並列に走らせ、
何時間も計算させてわかったのです。
ですが、残念ながら6次魔方陣については、
スーパーコンピュータをもってしてもまったく刃が立ちません。
まして、20次魔方陣レベルになると100年後の夢のスパコンでもまったく刃が立たないでしょうね。
この講義が進展していくと、
6次魔方陣クラスでも、1秒で数百の勢いで魔方陣を生成できるようになりますが、
最速のプログラムを使ってもすべての魔方陣がいくつあるのか、
という問題に対して回答出来ないのです。

私の開発した数独作成ソフトは、
『数独作成ソフト』『ナンプレ自動生成アプリ』等で検索すると、
1年以上放置していたにもかかわらず、
今でもGoogleで第1位にランクされています。
そして、南信州新聞においてナンプレ自動出題アプリとして採用されています。
ゲームソフトにさえなかった自動生成を私がいち早く開発できた理由は、
魔方陣の自動生成を研究していたからです。
私が特殊種法と名付けていた魔方陣を自動生成する方法が、
直接数独作成ソフトに直接応用出来たのです。

さて、このような6次魔方陣を作り出すとしたら用意する変数は、
何個になると思いますか。
6×6=36(個)必要になります。
100次魔方陣なら、
100×100=10000(個)
必要になります。
1万個の変数を用意するとしたら、
名前を考えているだけで日が暮れて朝が来てしまいますね。
a,b,c,d,・・・,z,aa,・・・,za,・・・
こんなことをしているだけでいやになってしまいます。
ですが、配列を使えば一瞬にして1万個の配列を用意できるのです。
どうすればよいんでしょうか。

第5講第10話へ   第2話へ

002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ