第4話 プログラム解説(3)

基礎魔方陣

16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

を下の部分にはめ込んで行くのが掛け算的手法です。

16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

まず、

16

にはめ込むときは、基礎魔方陣のすべてのセル(数字)に
16 * (16−1)=16 *15=240
を加えます。
これが前話のi=1,j=1の場合で、埋め込まれる魔方陣は

256 242 243 253
245 251 250 248
249 247 246 252
244 254 255 241

です。

i=1,j=2の場合は、

に、
基礎魔方陣のすべてのセル(数字)に
16 * (2−1)=16 *1=16
を加えた

32 18 19 29
21 27 26 24
25 23 22 28
20 30 31 17

をはめ込みます。

次のi=1,j=3では

3

に、
基礎魔方陣のすべてのセル(数字)に
16 * (3−1)=16 *2=32
を加えた

48 34 35 45
37 43 42 40
41 39 38 44
36 46 47 33

をはめ込みます。

以下同様にして、i=3,j=2なら

7

に、
基礎魔方陣のすべてのセル(数字)に
16 * (−1)=16 *6=96
を加えた

112 98 99 109
101 107 106 104
105 103 102 108
100 110 111 97

をはめ込みます。

最後までループで同様な処理が加えられ、

256 242 243 253 32 18 19 29 48 34 35 45 208 194 195 205
245 251 250 248 21 27 26 24 37 43 42 40 197 203 202 200
249 247 246 252 25 23 22 28 41 39 38 44 201 199 198 204
244 254 255 241 20 30 31 17 36 46 47 33 196 206 207 193
80 66 67 77 176 162 163 173 160 146 147 157 128 114 115 125
69 75 74 72 165 171 170 168 149 155 154 152 117 123 122 120
73 71 70 76 169 167 166 172 153 151 150 156 121 119 118 124
68 78 79 65 164 174 175 161 148 158 159 145 116 126 127 113
144 130 131 141 112 98 99 109 96 82 83 93 192 178 179 189
133 139 138 136 101 107 106 104 85 91 90 88 181 187 186 184
137 135 134 140 105 103 102 108 89 87 86 92 185 183 182 188
132 142 143 129 100 110 111 97 84 94 95 81 180 190 191 177
64 50 51 61 224 210 211 221 240 226 227 237 16 2 3 13
53 59 58 56 213 219 218 216 229 235 234 232 5 11 10 8
57 55 54 60 217 215 214 220 233 231 230 236 9 7 6 12
52 62 63 49 212 222 223 209 228 238 239 225 4 14 15 1

が完成します。
なぜ、魔方陣になるのでしょうか。
それは、青もピンクも魔方陣で縦横対角線の合計が等しく、
それを合体したからです。
ピンクから1を引いて16を掛けていますが、
16という数字は、基礎魔方陣のセル数が16であるからです。
16飛びにすれば1から256までの数字が綺麗に揃います。
詳しくは、
第10回 かけ算的手法第1弾
第11回 かけ算的手法第2弾
第12回 かけ算的手法第3弾
を参照してください。


第3話へ 第5話へ

VB講義応用編トップへ

VB講義トップへ