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