第10講 魔方陣自動生成アプリ
第1話 魔方陣自動生成の考え方
第9講の第11話で、
さて、なぜn次順列の話を今話でしたのでしょうか。
第10講のテーマ名が魔方陣自動生成です。
きっと、賢い方は気がついているはずです。
実は、9次順列や16次順列は直接に魔方陣につながっていることを!
さらに、魔方陣は数独(ナンプレ)に直接つながっています。
という謎めいたことを申し上げました。
魔方陣に繋がる順列は、
9次、16次、25次、36次、・・・
です。
賢い皆さんですから、
数列
9,16,25,36,・・・
の規則性にすでに気がついてらっしゃいますよね。
そうです。
3×3,4×4,5×5,6×6,・・・
です。
なぜ、9次順列などが魔方陣に直接つながるのでしょうか。
またつながるとしてら9次順列は何次魔方陣に直接つながるのでしょうか。
答は、3次魔方陣です。
3次魔方陣を作るには、
9次順列
123456789,123456798,123456879,・・・
を2次元に並べ、
この中で、魔方陣の条件を満たしているものだけを、
表示するようにすれば良いのです。
16次や25次も同様です。
第9講第11話では
int x[25];
と1次元の配列としましたが、
2次元に並べるので、
int m[5][5];
2次元配列にしておきます。
配列名をmに変更したのは、y座標とx座標を導入するためです。
で、問題は人形の次元番号gと
m[y][x]のyとxの関係をどのように実現するかです。
考えて下さい。
答は30行下。
答え
y=g/n;
x=g%n;
が正解です。
n=3の場合で考えると、
0 | 1 | 2 | |
0 | 0 | 1 | 2 |
1 | 3 | 4 | 5 |
2 | 6 | 7 | 8 |
表の白の番号がgを表し、
赤がyに対応して、
青がxに対応します。
実際に
0÷3=0・・・0
1÷3=0・・・1
2÷3=0・・・2
3÷3=1・・・0
4÷3=1・・・1
5÷3=1・・・2
6÷3=2・・・0
7÷3=2・・・1
8÷3=2・・・2
ですから、
0 | 1 | 2 | |
0 | 0 | 1 | 2 |
1 | 3 | 4 | 5 |
2 | 6 | 7 | 8 |
初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ