當前位置:首頁 » 操作系統 » 幻方雙格演算法

幻方雙格演算法

發布時間: 2022-09-22 12:29:57

『壹』 四階幻方規律

【一般四階幻方】

什麼樣的16個數能組成四階幻方呢?四組任意的數,只要每組的四個數相互之間的差值都相同,就可以用拉丁方組成四階幻方。如下是四階拉丁方的數學模型:

『貳』 數學幻方問題怎麼做{最好有圖}

一、3階幻方

Merzirac法生成奇階幻方口訣:(適用於所有奇階幻方,3×3,5×5等。)
【1居上行正中央,依次斜填切莫忘,上出框界往下寫,右出框時左邊放,重復便在下格填,出角重復一個樣。】
3階幻方是奇階幻方,依口訣填寫,如下圖:

5階幻方有多少種形式,我沒算過。不過以上述方法每完成一種,將這一種轉一圈和鏡像(翻一面)又有7種形式。

如對幻方有興趣,可到我的網路空間去看看。

『叄』 幻方演算法

N為4的倍數時
採用對稱元素交換法。
首先把數1到n×n按從上至下,從左到右順序填入矩陣
然後將方陣的所有4×4子方陣中的兩對角線上位置的數關於方陣中心作對
稱交換,即a(i,j)與a(n-1-i,n-1-j)交換,所有其它位置上的數不變。
(或者將對角線不變,其它位置對稱交換也可)
N 為其它偶數時
當n為非4倍數的偶數(即4n+2形)時:首先把大方陣分解為4個奇數(2m+1階)子方陣。
按上述奇數階幻方給分解的4個子方陣對應賦值
上左子陣最小(i),下右子陣次小(i+v),下左子陣最大(i+3v),上右子陣次大(i+2v)
即4個子方陣對應元素相差v,其中v=n*n/4
四個子矩陣由小到大排列方式為 ① ③
④ ②
然後作相應的元素交換:a(i,j)與a(i+u,j)在同一列做對應交換(j<t或j>n-t+2),
a(t-1,0)與a(t+u-1,0);a(t-1,t-1)與a(t+u-1,t-1)兩對元素交換
其中u=n/2,t=(n+2)/4 上述交換使每行每列與兩對角線上元素之和相等。

奇階
首行中間寫1,然後向右上依次填2,3順著寫,出上移下,出右移左,雙出(邊角)就寫在那個數下邊。

『肆』 簡單解決雙數 幻方

N介幻方的性質:每一行每一列以及每個對角線上的數之和相等,切都為N*(N*N+1)/2
設P[N*N]表示N*N方格
1.對於雙偶數N(N%4==0)
(1)先畫出N*N的方格
(2)在方格內從左到右,從上到下,依此填上1,2,...,N*N
(3)把N*N方格分成N*N/16個4*4的小方格
(4)畫出各個4*4小方格的對角線
(5)各對角線上的數不變,非對角線上的數和它對稱的數相互調換位置
即A和N*N-A+1對調.
好了,成功!

2. N%4==2
(1)把N*N個數的最前和最後的2N-2個數留下,其餘數按 1 的方法填入
正中(N-2)*(N-2)個方格內.
(2)補上外方框
今天從0:00到3:00想出一個補法:
先填上幾個特殊數
P[0]=3
P[N-1]=N
P[1]=1
P[N]=2
P[2]=N*N-3
P[3]=5
P[2N]=N+2
P[3N]=N+3
P[4]=N*N-5
下面再填入:
從P[5]到P[N-2]依此為7,8,N*N-8,N*N-9,11,12,N*N-12,N*N-13....
從P[4N]到P[(N-2)*N]依此為N*N-(N+3),N*N-(N+4),N+6,N+7,
N*N-(N+7),N*N-(N+8),N+10,N+11.........
再對稱的補上其餘.

『伍』 雙數階幻方求法

雙數階幻方通常稱之為偶階幻方。偶階幻方又分為雙偶幻方和單偶幻方。

能被4整除的偶階幻方稱為雙偶幻方,如8階、12階、16階等;

不能被4整除的偶階幻方稱為單偶幻方,如6階、10階、14階等。

一、雙偶幻方通用Spring法生成:

方法就是兩句話:順序填數,以中心點對稱互換數字。

4階幻方:

『陸』 誰能告訴我偶數階幻方的演算法用文字表述即可.

N介幻方的性質:每一行每一列以及每個對角線上的數之和相等,切都為N*(N*N+1)/2
設P[N*N]表示N*N方格
1.對於雙偶數N(N%4==0)
(1)先畫出N*N的方格
(2)在方格內從左到右,從上到下,依此填上1,2,...,N*N
(3)把N*N方格分成N*N/16個4*4的小方格
(4)畫出各個4*4小方格的對角線
(5)各對角線上的數不變,非對角線上的數和它對稱的數相互調換位置
即A和N*N-A+1對調.
好了,成功!
2.N%4==2
(1)把N*N個數的最前和最後的2N-2個數留下,其餘數按 1 的方法填入
正中(N-2)*(N-2)個方格內.
(2)補上外方框
今天從0:00到3:00想出一個補法:
先填上幾個特殊數
P[0]=3
P[N-1]=N
P[1]=1
P[N]=2
P[2]=N*N-3
P[3]=5
P[2N]=N+2
P[3N]=N+3
P[4]=N*N-5
下面再填入:
從P[5]到P[N-2]依此為7,8,N*N-8,N*N-9,11,12,N*N-12,N*N-13.
從P[4N]到P[(N-2)*N]依此為N*N-(N+3),N*N-(N+4),N+6,N+7,
N*N-(N+7),N*N-(N+8),N+10,N+11.
再對稱的補上其餘.

『柒』 九宮格的演算法

九宮格的計算公式或者口訣有很多種。比如:

1、二四為肩, 六八為足, 上九下一, 左七右三。

2、一居上行正中央,依次斜填切莫忘;上出框時向下放,右出框時向左放;排重便在下格填,右上排重一個樣。

口訣不僅適用於九宮,也適用於推廣的奇數九宮,如五五圖,七七圖等等。

(7)幻方雙格演算法擴展閱讀

九宮格游戲對人們的思維鍛煉有著極大的作用,從古時起人們便意識到九宮的教育意義。千百年來影響巨大,在文學、影視中都曾出現過。九宮格最早叫「洛書」,現在也叫「幻方」 。

在《射鵰英雄傳》中黃蓉曾破解九宮格,口訣:戴九履一,左三右七,二四有肩,八六為足,五居中央。

還有口訣:「一居上行正中央,依次斜填切莫忘;上出框時向下放,右出框時向左放;排重便在下格填,右上排重一個樣。」 這口訣不僅適用於九宮,也適用於推廣的奇數九宮,如五五圖,七七圖等等。



『捌』 幻方解法

按照圖片的方法樓梯法填寫9個數,然後「中部四數各向外挺出「,就得到結果了。下面是5階幻方的演示,其實3階幻方也是一樣的。

『玖』 幻方的解法

幻方分為奇階幻方和偶階幻方,構成方法也不同。

奇階幻方
一、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

偶階幻方
偶階幻方分為雙偶幻方和單偶幻方。一個n階幻方,當n為偶數時,我們稱幻方為偶階幻方;當n可以被4整除時,我們稱該偶階幻方為雙偶幻方,如8階、12階、16階等;當n不可被4整除時,我們稱該偶階幻方為單偶幻方,如6階、10階、14階等。

一、雙偶幻方的解法
能被4整除的n階幻方叫雙偶幻方,如8階、12階、16階等,雙偶幻方用Spring法、Strachey法生成。
1、Spring法生成雙偶幻方:
方法就是兩句話:順序填數,以中心點對稱互換數字。
將n階雙偶幻方表示為4m階幻方。將n階幻方看作一個矩陣,記為A,其中的第i行j列方格內的數字記為a(i,j)。
第一步,先令a(i,j)=(i-1)*n+j,即第一行從左到可分別填寫1、2、3、……、n;即第二行從左到可分別填寫n+1、n+2、n+3、……、2n;…………n^2【n的平方】。
簡單地說,就是1放在幻方的任意一個角格,然後按同一個方向按順序依次填寫其餘數。
以8階幻方為例,順序填數。如下所示:
1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32
33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48
49 50 51 52 53 54 55 56
57 58 59 60 61 62 63 64
等等等等,共有8種方法。(以下我只以一種為例講解。其餘方法相同)

第二步,進行對稱交換。
對稱交換的方法有兩種:
方法一;將左上區域i+j為偶數的與幻方內以中心點為對稱點的右下角對角數字進行交換;將右上區域i+j為奇數的與幻方內以中心點為對稱點的左下角對角數字進行交換。(保證不同時為奇或偶即可。)
64 2 62 4 5 59 7 57
9 55 11 53 52 14 50 16
48 18 46 20 21 43 23 41
25 39 27 37 36 30 34 32
33 31 35 29 28 38 26 40
24 42 22 44 45 19 47 17
49 15 51 13 12 54 10 56
8 58 6 60 61 3 63 1
或,
1 63 3 61 60 6 58 8
56 10 54 12 13 51 15 49
17 47 19 45 44 22 42 24
40 26 38 28 29 35 31 33
32 34 30 36 37 27 39 25
41 23 43 21 20 46 18 48
16 50 14 52 53 11 55 9
57 7 59 5 4 62 2 64
完成幻方,幻和值260。

方法二;將幻方等分成m*m個4階幻方,將各4階幻方中對角線上(或非對角線上)的方格內數字與n階幻方內以中心點為對稱點的對角數字進行交換。
下圖為將各4階幻方中對角線上的方格內數字與n階幻方內以中心點為對稱點的對角數字進行交換,完成幻方,幻和值260。
64 2 3 61 60 6 7 57
9 55 54 12 13 51 50 16
17 47 46 20 21 43 42 24
40 26 27 37 36 30 31 33
32 34 35 29 28 38 39 25
41 23 22 44 45 19 18 48
49 15 14 52 53 11 10 56
8 58 59 5 4 62 63 1
下圖為將各4階幻方中非對角線上的方格內數字與n階幻方內以中心點為對稱點的對角數字進行交換,完成幻方,幻和值260。
1 63 62 4 5 59 58 8
56 10 11 53 52 14 15 49
48 18 19 45 44 22 23 41
25 39 38 28 29 35 34 32
33 31 30 36 37 27 26 40
24 42 43 21 20 46 47 17
16 50 51 13 12 54 55 9
57 7 6 60 61 3 2 64

2、Strachey法生成雙偶幻方
第一步,將n階雙偶幻方表示為4m階幻方。將其等分為四分,成為如下圖所示A、B、C、D四個2m階偶數幻方。
A C
D B
A用1至(2m)^2填寫成2m階幻方;B用(2m)^2+1至2*(2m)^2填寫成2m階幻方;C用2*(2m)^2+1至3*(2m)^2填寫成2m階幻方;D用3*(2m^)2+1至4*(2m)^2填寫成2m階幻方;
將8階雙偶幻方表示為4×2階幻方。將其等分為四個2×2階偶數幻方,即4階偶數幻方。
16 2 3 13 48 34 35 45
5 11 10 8 37 43 42 40
9 7 6 12 41 39 38 44
4 14 15 1 36 46 47 33
64 50 51 61 32 18 19 29
53 59 58 56 21 27 26 24
57 55 54 60 25 23 22 28
52 62 63 49 20 30 31 17
第三步,在A每行取m個小格(一側對角線格為必換格,其餘m-1格只要不是另一側對角線格即可),將其與D相應方格內交換;B與C以相同方法進行。
對於8階幻方,A每行取2個小格(一側對角線格為必換格,其餘1格只要不是另一側對角線格即可),要與D相應方格內交換;C與B以相同方法進行。
最簡單的方法就是:A任意2列,與D相對應的2列互換,C任意2列,與B相對應的2列互換即可。
64 50 3 13 48 34 19 29
53 59 10 8 37 43 26 24
57 55 6 12 41 39 22 28
52 62 15 1 36 46 31 17
16 2 51 61 32 18 35 45
5 11 58 56 21 27 42 40
9 7 54 60 25 23 38 44
4 14 63 49 20 30 47 33

64 50 3 13 32 18 35 45
53 59 10 8 21 27 42 40
57 55 6 12 25 23 38 44
52 62 15 1 20 30 47 33
16 2 51 61 48 34 19 29
5 11 58 56 37 43 26 24
9 7 54 60 41 39 22 28
4 14 63 49 36 46 31 17
等等完成幻方,幻和值260。

二、單偶幻方的解法
將n階單偶幻方表示為4m+2階幻方。將其等分為四分,成為如下圖所示A、B、C、D四個2m+1階奇數幻方。
A C
D B
A用1至2m+1填寫成(2m+1)2階幻方;B用(2m+1)2+1至2*(2m+1)2填寫成2m+1階幻方;C用2*(2m+1)2+1至3*(2m+1)2填寫成2m+1階幻方;D用3*(2m+1)2+1至4*(2m+1)2填寫成2m+1階幻方;
【註:(2m+1)2是(2m+1)的平方,以下同】
8 1 6 26 19 24
3 5 7 21 23 25
4 9 2 22 27 20
35 28 33 17 10 15
30 32 34 12 14 16
31 36 29 13 18 11

在A每行取m個小格(中心格及一側對角線格為必換格,其餘m-1格只要不是另一側對角線格即可),也就是說在A中間一行取包括中心格在內的m個小格,其他行左側邊緣取m個小格,將其與D相應方格內交換;B與C任取m-1列相互交換。
6階幻方就是4*1+2,那麼m就是1。在A中間一行取中心格1個小格,其他行左側邊緣取1個小格,將其與D相應方格內交換;B與C接近右側m-1列相互交換(6階幻方m-1=0,則不用互換)。如下圖用Strachey法生成的6階幻方:
35 1 6 26 19 24
3 32 7 21 23 25
31 9 2 22 27 20
8 28 33 17 10 15
30 5 34 12 14 16
4 36 29 13 18 11

每一行,每一列,對角線的和值(稱為幻和值)為111。
一個n階幻方幻和值公式為:
Nn=1/2xn(n2+1)
【註:n2是n的平方】
N6=1/2x6x(36+1)=111

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:335
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:740
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:371