三階質數魔方陣的尋覓

問題的提出
  • 三階的魔方陣雖有 8 個,但全是全等的,所以相異的三階魔方陣只有一個:
  • 但如果不限定方陣中的數字定須由 1 ∼ n2 組成,那麼相異的三階魔方陣將有無限多個;
    例如:以任意的等差數列依嚴格三階魔方陣中數字的順序填入,也會是一個魔方陣,下面這個方陣就是改用 首數為 7、公差為 2 的陣列,填出的 3 階魔方陣,其定和為 45 :
    再例:取適當的三段等差數列依嚴格三階魔方陣中數字的順序填入,也會是一個魔方陣,下面這個方陣就是改用 13, 15, 17、23, 25, 27、33, 35, 37 三段陣列填出的 3 階魔方陣,其定和為 75 :
  • 因為不限定數字範圍的相異 3 階魔方陣實在太多了,尋找或統計這樣的魔方陣就顯得沒有什麼意義!
  • 限定太嚴了,例如只能用 1 ∼ n2 ,則相異的魔方陣只有一個!限制得太鬆了,又造成俯拾皆是 的情況,一點興味皆無!於是有人提出了下面的問題:
    使用 1 和 100 以內的質數可造出多少個 3 階魔方陣?
  • 請暫時不要往下看,你能解出這個問題嗎?










三階魔方陣的數字關係
  • 假設三階方陣中的數字如下圖所示,其定和為 s:
    a b c
    d e f
    g h i
    則:
    1. a + e + i = s
    2. g + e + c = s
    3. d + e + f = s
    4. b + e + h = s
    5. a + b + c + d + e + f + g + h + i = 3 s
  • 將前四式相加後減去第五式,則:
    3 e = s 所以 s 必為 3 的倍數。
  • 方陣中心位置的數字確定之後,因定和為 s,週邊位置的數字必為下圖所示 (當左上及右上角的數字決定後,其他位置的數字就因而決定了):
e + x e - x - y e + y
e - x + y e e + x - y
e - y e + x + y e - x
三階魔方陣的數字關係圖
問題的解答
  • 有了三階魔方陣的數字關係圖之後,尋找 100 以內的 3 階質數魔方陣變得不再困難了。尤怪所使用的演算法如下
    1. 首先決定方陣的中心數字 e (當然這必須是質數)。
    2. 以試誤法決定左上角的數字 a,同時由 x 也可一併驗証右下角的數字 i 是否合乎所求。
    3. 以試誤法決定右上角的數字 c,同時由 y 也可一併驗証左下角的數字 g 是否合乎所求。
    4. 由 x, y 可再度驗証其餘的數字 b, d, f, h 是否合乎所求。
  • 以下用 17 做為方陣中心,用上述演算法示範求解的過程如下:
    1. 解設左上角的數字為 1,則 x = -16,右下角的數字 i= 33 不是質數,不合所求。
    2. 解設左上角的數字為 3,則 x = -14,右下角的數字 i= 31 合所求。但因右上角的數字一樣不能為 1, 所以本數仍不合。
    3. 解設左上角的數字為 5,則 x = -12,右下角的數字 i= 29 合所求。但因右上角的數字只能為 3, y= -14,則 h= 17 - 12 - 14 = -9,所以本數仍不合。
    4. 解設左上角的數字為 7,則 x = -10,右下角的數字 i= 27 不是質數,不合所求。
    5. 解設左上角的數字為 11,則 x = -6,右下角的數字 i= 23 合所求。
      但若右上角的數字為 3,則 y= -14,則 h= 17 - 6 - 14 = -3,不合。
      若右上角的數字為 5,則 y= -12,則 h= 17 - 6 - 12 = -1,不合。
      所以左上角的數字仍不可為 11。
    6. 解設左上角的數字為 13,則 x = -4,右下角的數字 i= 21 不是質數,不合所求。
    7. 綜合以上討論,若方陣的中心數字為 17,本題無解。
  • 100 以內的質數不多,以上面這個演算法求解,相信不必太久,大家就可發現,原來使用 1 和 100 以內 的質數來構造魔方陣時,符合條件的方陣居然只有 1 個 :
  • 1 其實並不是質數,本題只不過是為了使用 100 以內的數,故而將之加入以使有解罷了!如果把 1 排除, 只能使用真正的質數,那麼定和最小的 3 階質數魔方陣其實是 :
以電腦協助
  • 現在電腦科技如此進步,雖然有了以上較為便捷的演算法,但如果要以人力將方陣中心為 500 以內的 3 階 質數魔方陣列出,相信大部分人聽聽即罷,絕不會真的動手去幹!
  • 為了彌補這個缺憾,尤怪特別寫了一小段程式碼來為大家效勞,但考慮電腦的執行速率,仍要有所限制。 下面這段程式碼可讓你選擇一個 1000 以內的數字 n,程式會將所有 以 n ∼ ( n + 99 ) 為方陣中心的 3 階質數魔方陣列出來。
  • 請用 開始的 100 個數為方陣中心,列出所有的 3 階質數魔方陣:
 
 
 
本網頁建置日期:93.03.21 | 最近更新日期:93.03.21  | 回上頁 | 回首頁 |