魔方陣的計算

2021-09-11 23:43:23 字數 787 閱讀 3709

魔方陣:

魔方陣的排列規律如下:

(1)將1放在第一行中間一列;

(2)從2開始直到n×n止各數依次按下列規則存放;每乙個數存放的行比前乙個數的行數減1,列數加1(例如上面的三階魔方陣,5在4的上一行後一列);

(3)如果上乙個數的行數為1,則下乙個數的行數為n(指最下一行);例如1在第一行,則2應放在最下一行,列數同樣加1;

(4)當上乙個數的列數為n時,下乙個數的列數應為1,行數減去1。例如2在第3行最後一列,則3應放在第二行第一列;

(5)如果按上面規則確定的位置上已有數,或上乙個數是第一行第n列時,則把下乙個數放在上乙個數的下面。例如按上面的規定,4應該放在第1行第2列,但該位置已經被佔據,所以4就放在3的下面;

#include#include#define size 3

void magicsquare()

; int currow = 0;

int curcol = size/2;

assert(size%2 != 0);//1奇數

arr[currow][curcol] = 1; //2

for(int i=2;i<=size*size;i++)

arr[currow][curcol] = i;

} for(int i=0;i

printf("\n"); }}

int main()

魔方陣1 奇階魔方陣

魔方陣 古代又稱 縱橫圖 是指組成元素為自然數1 2 n2的平方的n n的方陣,其中每個元素值都不相等,且每行 每列以及主 副對角線上各n個元素之和都相等。魔方陣分為奇階魔方陣和偶階魔方陣,偶階魔方陣又分為能被四整除和不能被四整除兩種,今天來給大家講解奇階魔方陣,後續會為大家補充剩餘的魔方陣。奇階魔...

生成魔方陣

魔方陣即奇數階矩陣的各行各列每個對角線數字之和相等。仔細觀察可以發現數字排列規則,以下 中會做注釋 include include void main int i 0,j,n,num 1,sum int k,m printf 輸入矩陣階數 scanf d n sum n n j n 2 a i j ...

奇數魔方陣

魔方陣,古代又稱 縱橫圖 是指組成元素為自然數1 2 n的平方的n n的方陣,其中每個元素值都不相等,且每行 每列以及主 副對角線上各n個元素之和都相等。階數大於等於3。如3 3的魔方陣 8 1 6 3 5 7 4 9 2 奇數魔方陣的排列規律如下 1 將1放在第一行中間一列 2 從2開始直到n n...