魔方陣 奇數階 單偶數階 雙偶數階

2021-08-19 10:03:31 字數 871 閱讀 7348

#include #include #include int **magic1(int n)    //奇數階魔方陣

int row = 0;

int col = n/2;

for(int i = 0;ireturn arr;

}int **magic2(int n) //單偶數階魔方陣(能被2整除,不能被4整除)(思路:可以分為4個奇數階矩陣)

int row = 0;

int col = n/4;

for(int i = 0;i<(n*n)/4;i++) //左上n/2階矩陣賦值

row = n/2;

for(int i = 0;irow = 0;

for(int i = 0;irow = n/2;

for(int i = 0;iint t;

for(int i = 0;it = 0;

for(int i = 0;ireturn arr;

}int **magic3(int n) //雙偶數階,能同時被2和4整除(思路:把n階矩陣分為(n/4)*(n/4)個小4階矩陣,每個小矩陣對角線位置做出變換即可)

int t = 0;

for(int i = 0;iint row1 = 0;

int col1 = 0;

int row2 = 0;

int col2 = 0;

for(int i = 0;i} }

return arr;

}int main()

printf("\n");

} free(arr);

return 0;

}

魔方陣 奇數階 單偶數階 雙偶數階

include include include int magic1 int n 奇數階魔方陣 int row 0 int col n 2 for int i 0 i return arr int magic2 int n 單偶數階魔方陣 能被2整除,不能被4整除 思路 可以分為4個奇數階矩陣 in...

奇數階魔方陣(洛書)

題目 將1 n的數子排列在n n的方陣上,要求數子不能重複,方陣各行 各列 及兩條對角線的數子之和相等。此位魔方陣,又稱洛書 洛書是九行九列 若n為奇數,則為奇數階魔方陣。解題方法 洛書的排列規律如下 將1放在第一行中間一列 從2開始直到n n止各數依次按下列規則存放 每乙個數存放的行比前乙個數的行...

奇數階魔方

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 乙個 n 階方陣的元素是1,2,n 2,它的每行,每列和2條對角線上元素的和相等,這樣 的方陣叫魔方。n為奇數時我們有1種構造方法,叫做 右上方 例如下面給出n 3,5,7時 的魔方.38 1 6 3 5 7 4 9 2 517...