四階幻方的填法?
- 2021-08-05
幻方最早記載於我國公元前500年的春秋時期《大戴禮》中,這說明我國人民早在2500年前就已經知道了幻方的排列規律。而在國外,公元130年,希臘人塞翁才第一次提起幻方。我國不僅擁用幻方的發明權,而且是對幻方進行深入研究的國家。公元13世紀的數學家楊輝已經編制出3-10階幻方,記載在他1275年寫的《續古摘廳演算法》一書中。在歐洲,直到574年,德國著名畫家丟功才繪製出了完整的4階幻方。
數學上已經證明,對於n>2,n階幻方都存在。目前填寫幻方的方法,是把幻方分成了三類,每類又有各種各樣的填寫方法。
1、奇數階幻方
n為奇數 (n=3,5,7,9,11……) (n=2×k+1,k=1,2,3,4,5……)
奇數階幻方最經典的填法是羅伯特法(也有人稱之為樓梯法)。填寫方法是這樣:
把1(或最小的數)放在第一行正中; 按以下規律排列剩下的n×n-1個數:
(1)每一個數放在前一個數的右上一格;
(2)如果這個數所要放的格已經超出了頂行那麼就把它放在底行,仍然要放在右一列;
(3)如果這個數所要放的格已經超出了最右列那麼就把它放在最左列,仍然要放在上一行;
(4)如果這個數所要放的格已經超出了頂行且超出了最右列,那麼就把它放在前一個數的下一行同一列的格內;
(5)如果這個數所要放的格已經有數填入,處理方法同(4)。
這種寫法總是先向“右上”的方向,象是在爬樓梯。
2、雙偶階幻方
n為偶數,且能被4整除 (n=4,8,12,16,20……) (n=4k,k=1,2,3,4,5……)
先說明一個定義。互補:如果兩個數字的和,等於幻方最大數和最小數的和,即 n*n+1,稱為互補。
先看看4階幻方的填法:將數字從左到右、從上到下按順序填寫:
這個方陣的對角線,已經用顏色標出。將對角線上的數字,換成與它互補(同色)的數字。
這裡,n×n+1 = 4×4+1 = 17;把1換成17-1 = 16;把6換成17-6 = 11;把11換成17-11 = 6……換完後就是一個四階幻方。
對於n=4k階幻方,我們先把數字按順序填寫。寫好後,按4*4把它劃分成k*k個方陣。因為n是4的倍數,一定能用4*4的小方陣分割。然後把每個小方陣的對角線,象製作4階幻方的方法一樣,對角線上的數字換成互補的數字,就構成幻方。
3、單偶階幻方
n為偶數,且不能被4整除 (n=6,10,14,18,22……) (n=4k+2,k=1,2,3,4,5……)
這是三種裡面最複雜的幻方。
以n=10為例。這時,k=2
(1) 把方陣分為A,B,C,D四個象限,這樣每一個象限肯定是奇數階。用樓梯法,依次在A象限,D象限,B象限,C象限按奇數階幻方的填法填數。
(2) 在A象限的中間行、中間格開始,按自左向右的方向,標出k格。A象限的其它行則標出最左邊的k格。將這些格,和C象限相對位置上的數,互換位置。
(3) 在B象限任一行的中間格,自右向左,標出k-1列。(注:6階幻方由於k-1=0,所以不用再作B、D象限的資料交換),將B象限標出的這些數,和D象限相對位置上的數進行交換,就形成幻方。
看起來很麻煩,其實掌握了方法就很簡單了。
一、merzirac法生成奇階幻方
在第一行居中的方格內放1,依次向右上方填入2、3、4…,如果右上方已有數字,則向下移一格繼續填寫。如下圖用merziral法生成的5階幻方:
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
merzirac法,有人也叫樓梯法,我管它叫斜步法,即走x+y斜步(數字按右上方順序填入),-y跳步(如果右上方已有數字或出了對角線,則向下移一格繼續填寫)。
其實斜步法可以向4個方向依次填寫數字,即右上、右下、左上、左下4個方向,每種斜步都可有2種跳步,即左(右)跳步、上(下)跳步。
對於x+y斜步相應的跳步可以為-x,-y。 【記住,跳步是x+y斜步的x(或y)相反方向即可。如右上方向斜步,跳步就為向左(或向下)一步;左下方向斜步,跳步就為向右(或向上)一步;等等等等】
二、loubere法生成奇階幻方
在居中的方格向上一格內放1,依次向右上方填入2、3、4…,如果右上方已有數字,則向上移兩格繼續填寫。如下圖用louberel法生成的5階幻方:
23 6 19 2 15
10 18 1 14 22
17 5 13 21 9
4 12 25 8 16
11 24 7 20 3
上述loubere法可以記作x+y斜步(數字按右上方順序填入),2y跳步(如果右上方已有數字或出了對角線,則向上移二格繼續填寫)。對於x+y斜步相應的跳步可以為2x,2y。 【記住,跳步是x+y斜步的x(或y)相同方向即可。】
2y跳步,則在居中的方格向上一格放1裡,按上斜步,2y跳步的方法構成幻方。
-2y跳步,則在居中的方格向下一格放1裡,按下斜步,-2y跳步的方法構成幻方。
2x跳步,則在居中的方格向右一格放1裡,按右斜步,2x跳步的方法構成幻方。
-2x跳步,則在居中的方格向左一格放1裡,按左斜步,-2x跳步的方法構成幻方。
三、horse法生成奇階幻方
對於所有的奇階幻方,在第一行居中的方格內放1,向左走1步,下走2步以跳馬步,依次填入2、3、4…,若出到方陣下方,把該數字填到本該填數所在列上方相應的格;若出到方陣右方,把該數字填到本該填數所在行的左方相應的格;如果落步格已有數字, 則向下移一格繼續填寫。如下圖用horse法生成的5階幻方:
23 12 1 20 9
4 18 7 21 15
10 24 13 2 16
11 5 19 8 22
17 6 25 14 3
n階奇階幻方,若n為不是3的倍數,那麼在任意一格內放1,向左走1步,下走2步以跳馬步,依次填入2、3、4…,若出到方陣下方,把該數字填到本該填數所在列上方相應的格;若出到方陣右方,把該數字填到本該填數所在行的左方相應的格;如果落步格已有數字, 則向上移一格繼續填寫。如下圖用horse法生成的5階幻方:
1 14 22 10 18
25 8 16 4 12
19 2 15 23 6
13 21 9 17 5
7 20 3 11 24
上一篇:露琪亞對一護說的話
下一篇:cs七龍珠2.2高階選項按什麼鍵