1.將「1」放在第一行,中間一列;
2.從2開始至n*n各數按如下規律:
每乙個數存放的行比上乙個數的行減1;
每乙個數存放的列比上乙個數的列加1;
3.當乙個數行為1,下乙個數行為n;
4.當乙個數列數為n,下乙個數列數為1,行數減1;
5.若按上述規則確定的位置有數字,或上乙個數字第1行第n列,
n = int(input())
x = [[-1 for i in range(n)] for i in range(n)]
line = 0
col = n//2
cnt = 1
while cnt<=n**2:
x[line][col] = cnt
preline = line
precol =col
line -= 1
if line==-1:
line = n-1
col = (col+1)%n
if x[line][col]!=-1 :
line = preline +1
col = precol
cnt+=1
for item in x:
print(item)
魔方陣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...