說明
將1 到n( 為奇數) 的數字排列在nxn的方陣上,且各行、各列與各對角線的和必須相同,如下所 示:
解法
填魔術方陣的方法以奇數最為簡單,第乙個數字放在第一行第一列的正**,然後向右 ( 左) 上 填,如果右(左)上已有數字,則向下填,如下圖所示:
一般程式語言的陣列索引多由0開始,為了計算方便,我們利用索引1到n的部份,而在計算是向 右( 左) 上或向下時,我們可以將索引值除以n值,如果得到餘數為1就向下,否則就往右(左) 上, 原理很簡單,看看是不是已經在同一列上繞一圈就對了。
**********************************程式**************************************
#include
#include
#define n 5
int main(void);
i = 0;
j = (n+1)/ 2;
for(key = 1; key <= n*n;key++)
if(i == 0)
i = n;
if(j > n)
j = 1;
square[i][j]= key;}
for(i = 1; i <= n; i++)
return 0;
}******************************end********************************
奇數魔方陣
魔方陣,古代又稱 縱橫圖 是指組成元素為自然數1 2 n的平方的n n的方陣,其中每個元素值都不相等,且每行 每列以及主 副對角線上各n個元素之和都相等。階數大於等於3。如3 3的魔方陣 8 1 6 3 5 7 4 9 2 奇數魔方陣的排列規律如下 1 將1放在第一行中間一列 2 從2開始直到n n...
acm奇數魔方陣
輸入檔案 input.txt 輸出檔案 output.txt 魔方矩陣是乙個n n 奇數矩陣,其中 n 2個元素分別是 1,2,3,4,5 n 2 魔方矩陣的特點是 任意一行 任意一列以及主副對角線的所有數之和均相等,且都等於 n n 2 1 2 如下圖所示的三階魔方矩陣 8 1635 7492 小...
奇數階魔方陣(洛書)
題目 將1 n的數子排列在n n的方陣上,要求數子不能重複,方陣各行 各列 及兩條對角線的數子之和相等。此位魔方陣,又稱洛書 洛書是九行九列 若n為奇數,則為奇數階魔方陣。解題方法 洛書的排列規律如下 將1放在第一行中間一列 從2開始直到n n止各數依次按下列規則存放 每乙個數存放的行比前乙個數的行...