魔方陣計算機
すべての行・列と2本の主対角線の合計が等しい正規魔方陣を生成します。
魔方陣を生成
3から15までの整数で次数を指定してください。
魔方陣について
n次の正規魔方陣は、一からnの二乗までの整数をそれぞれ一度だけ使うn行n列の数表です。すべての行、列、長い対角線の合計が等しく、その共通の合計を魔法定数と呼びます。使う数があらかじめ決まっているため、定数はnに「nの二乗に一を足した値」を掛け、二で割ると求められます。三次では十五、四次では三十四です。
この計算機はランダムに探索せず、標準的な手順で魔方陣を構成します。奇数次にはサイアム法を使います。最上行の中央に一を置き、次の数からは一行上、一列右へ進み、端を越えたら反対側に回り込みます。移動先が埋まっている場合は、元の位置から一行下へ進みます。この規則を繰り返すと全マスが埋まり、必要な各線の合計が自然にそろいます。おなじみの三次魔方陣は8, 1, 6の行で始まります。
四で割り切れる次数には、二重偶数次の補数法を使います。まず通常の数え順で埋め、対称的なパターンにある数を、nの二乗に一を足した値に対する補数に置き換えます。これにより16, 2, 3, 13で始まる古典的な四次の配置が得られます。四で割り切れない偶数次は単偶数次と呼ばれます。関連する四つの奇数次部分方陣を組み合わせ、象限間で所定の列を交換して構成します。
魔方陣は数学パズル、芸術、建築、文化的象徴として長い歴史を持ちます。現在も周期的な移動、対称性、構成的アルゴリズム、行列の添字、不変量による証明を教える題材に適しています。完成した方陣から数個の数を消し、目標の定数だけを残して復元させれば、楽しい数のパズルにもなります。
生成は決定的で、同じ次数なら常に同じ正しい配置が得られます。回転、反転、その他の置換でも多くの有効な配置が作れます。上限を十五次とすることで、画面の読みやすさを保ちつつ三種類の構成法を示します。検算では任意の行の合計を魔法定数と比べ、列と両対角線も調べてください。すべて一致し、指定範囲の各整数が一度だけ現れるはずです。
魔方陣の例
| 次数 | 魔法定数 | 構成方法 |
|---|---|---|
| 3 | 15 | サイアム法で作る奇数次の魔方陣。 |
| 4 | 34 | 補数を使って作る二重偶数次の魔方陣。 |
| 5 | 65 | 1から25を含む別の奇数次魔方陣。 |
| 6 | 111 | 四つの奇数次部分方陣で作る単偶数次魔方陣。 |
魔方陣の生成方法
- 3から15までの整数で次数を入力します。
- 「魔方陣を生成」を選ぶと、適切な構成アルゴリズムが使われます。
- 完成した数表と魔法定数を確認します。
- 行、列、各主対角線の数を足して検算します。
魔方陣のよくある質問
魔方陣の条件は何ですか?
各行、各列、各主対角線の合計が等しいことです。正規魔方陣では、一からnの二乗までの各整数が一度だけ現れます。
魔法定数はどう計算しますか?
一からnの二乗までの整数を合計し、行数で割ります。nに「nの二乗に一を足した値」を掛けて二で割っても同じです。
どのサイズでも魔方陣は作れますか?
二より大きいすべての次数に正規魔方陣が存在します。一次と二次では標準的な非自明の構成が得られないため、対象外です。
同じサイズでも配置が違うのはなぜですか?
魔方陣は一意ではありません。回転、反転、より複雑な変換でも合計が等しい性質は保たれます。
生成される数表はランダムですか?
いいえ。決定的な構成アルゴリズムを使うため、同じサイズなら常に同じ魔方陣を再現できます。