奇數幻方的實現及其驗證

2021-08-10 00:17:09 字數 1530 閱讀 3397

#include

odd_number(int

x); int sum=0,i=0,j=x/2,k;

a[i][j]=1;

for(k=2;k*x+1;k++)

a[i][j]=k;

}for(i=0;iprintf("\n\n\n\n");

}for(i=0;iprintf("第%d行和為%d\n",(i+1),sum);

}for(j=0;jprintf("第%d列和為%d\n",(j+1),sum);

}i=0;sum=0;

for(j=0;jprintf("左上右下對角線和為%d\n",sum);

i=0;sum=0;

for(j=x-1;j>=0;j--)

printf("左下右上對角線和為%d\n",sum);

}int main()

return

0;}

x1=input("please inout an odd number:")

x=int(x1)

a = [([0] * x)for i in range(x)]

i=0;j=1

a[i][j]=1

for k in range(2,x*x+1):

i=i-1;j=j-1

if(i<0):i=x-

1if(j<0):j=x-

1if(a[i][j]!=0):

i=i+2

j=j+1

if(i>x-1):i=

1if(j>x-1):j=

0 a[i][j]=k

for i in range(0,x):

for j in range(0,x):

print(a[i][j] ,end=' ')

print("\n")

print("****************以下為幻方的驗證*******************\n")

for i in range(0,x):

sum=0

for j in range(0,x):

sum+=a[i][j]

print("the sum of column %d is:%d"

%(i+1,sum))

for j in range(0,x):

sum=0

for i in range(0,x):

sum+=a[i][j]

print("the sum of row %d is:%d"

%(j+1,sum))

i=0;sum=0;

for i in range(0,x):

sum+=a[i][j]

i=i+1

print("左上右下對角線和為:",sum)

i=0;sum=0;

for i in range(0,x):

sum+=a[i][j]

i=i+1

print("左下右上對角線和為:",sum)

奇數階幻方

編制奇數階幻方的方法 問題如 http community.csdn.net expert topic 5698 5698866.xml?temp 1421167 簡單描述 給 1 9,9個數,擺放成 3 3 的矩陣,要求每橫排,每豎排,對角線 上 3個數字相加均為15。其中矩陣也可為5 5,7 7...

1053 奇數幻方

題目描述 幻方 magic square 是一種將數字安排在正方形格仔中,使每行 列和對角線上的數字和都相等的方法。幻方也是一種漢族傳統遊戲。在 射鵰英雄傳 中郭黃二人被裘千仞追到黑龍潭,躲進瑛姑的小屋。瑛姑出了一道題 數字1 9填到三行三列的 中,要求每行 每列 及兩條對角線上的和都相等。這道題難...

magic squire幻方的學習 奇數階幻方

今天介紹了關於幻方的一些知識,並布置了一些相關的家庭作業。幻方,我的理解就是一種數獨吧,要求每行每列還有對角邊的和都一樣,填進空格的數字是1 n n是階數,比如三階幻方就是將1到9的數字填進3x3的九宮格裡。所有數字的和可以用求和公式 1 2 n n n 1 2 假設每行每列的和為 s,那麼 3s ...