魔方陣計算機

產生正規魔方陣,讓每列、每行與兩條主對角線的總和皆相同。

產生魔方陣
選擇3至15之間的整數階數。

關於魔方陣

n階正規魔方陣是n列n行的方陣,從一到n的平方的每個整數都恰好出現一次。其特徵是每列、每行和兩條長對角線的總和相同,這個共同總和稱為魔術常數。由於所有數值預先已知,可用n乘以n的平方加一,再除以二求得常數。三階的常數為十五,四階為三十四。 本計算機採用固定的構造方法產生標準方陣,不進行隨機搜尋。奇數階使用暹羅法:先將一放在最上列中央,接著每個數往上一列、往右一行,超出邊界時從另一側接續。若目標格已有數字,就改為從原位置往下一列。重複此規則即可填滿所有格子,並讓指定各線的總和相等。常見三階魔方陣的第一列為8, 1, 6。 階數可被四整除時,使用雙偶階互補法:先依一般計數順序填入數字,再將對稱圖案中的數替換成相對於n的平方加一的補數。經典四階排列因此以16, 2, 3, 13開頭。無法被四整除的偶數階稱為單偶階,先組合四個相關的奇數階子方陣,再精確交換各象限中的部分行。 魔方陣在趣味數學、藝術、建築與文化象徵中歷史悠久,至今仍適合用來教授循環移動、對稱性、構造演算法、矩陣索引與不變量證明。它也能成為有趣的數字謎題:移除完整方陣中的幾個數,保留目標常數,讓學習者還原缺漏的數字。 產生程序具有確定性,相同階數總會得到同一個有效排列。該排列的許多旋轉、鏡射與其他置換也同樣有效。最高十五階的限制可維持網頁可讀性,同時展示三類構造方法。驗證時,先將任意一列相加並與魔術常數比較,再檢查一行和兩條對角線。所有總和都應一致,指定範圍內的每個整數也應恰好出現一次。

魔方陣範例

階數魔術常數構造方式
315以暹羅法構造的奇數階魔方陣。
434以互補儲存格構造的雙偶階魔方陣。
565另一個包含1至25的奇數階魔方陣。
6111由四個奇數階子方陣組成的單偶階魔方陣。

如何產生魔方陣

  1. 輸入3至15之間的整數階數。
  2. 選取「產生魔方陣」,系統會採用適合的構造演算法。
  3. 查看完整數字方陣及其魔術常數。
  4. 將一列、一行與各條主對角線分別相加,驗證結果。

魔方陣常見問題

什麼樣的方陣是魔方陣?

每列、每行與每條主對角線的總和皆相同。正規魔方陣中,一到n的平方的每個整數都恰好出現一次。

如何計算魔術常數?

將一到n的平方的所有整數相加,再除以列數。等價公式為n乘以n的平方加一,再除以二。

每種大小都有魔方陣嗎?

所有大於二的階數都有正規魔方陣。一階和二階無法提供標準的非平凡構造,因此不包含在本產生器中。

為什麼同階的有效魔方陣可能長得不同?

魔方陣並非唯一。旋轉、鏡射及許多更深入的變換都能保留各線總和相同的性質。

產生的方陣是隨機的嗎?

不是。本計算機使用確定性的構造演算法,相同大小總會產生同一個可重現的魔方陣。