一、定義
魔方陣,古代又稱「縱橫圖」,是指組成元素為自然數1、2、…、n2的平方的n×n的方陣,其中每個元素值都不相等,且每行、每列以及主、副對角線上各n個元素之和都相等。
二、相關規則及其解法
1、規則一:將1放在第一行中間一列
2、規則二:從2開始直到n×n止各數依次按下列規則存放;每乙個數存放的行比前乙個數的行數減1,列數加1(例如上面的三階魔方陣,5在4的上一行後一列)
方法一:
方法二:使用三目運算子計算
方法三:將陣列的行和列連線起來形成乙個環
5.規則五:如果按上面規則確定的位置上已有數,或上乙個數是第一行第n列時,則把下乙個數放在上乙個數的下面。例如按上面的規定,4應該放在第1行第2列,但該位置已經被佔據,所以4就放在3的下面
整個**如下:
void magicsquare()
;int currow=0;
int curcol=size/2;
assert(size%2 != 0);//奇數
arr[currow][curcol]=1;
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...