生成幻方的小程式

2021-07-31 15:41:52 字數 912 閱讀 6744

「將幻方儲存在乙個二維陣列中。起始時把數1放在0行的中間,剩下的數2,3,……,n²依次向上移動一行並向右移動一列。當可能越過陣列邊間時需要『繞回』到陣列的另一端。例如:如果需要把下乙個數放到-1行,我們就將他儲存到n-1行(最後一行);如果需要把下乙個數放到n列,我們就將其儲存到0列。如果某個特定的陣列元素已被占用,那就把該數儲存咋前乙個數的正下方,」[1]

**如下:

/*

**幻方(magic square)是一種將數字安排在正方形格仔中,使每行、列和對角線上的數字和都相等的方法。

*/#include#includeint** createmagicsquare( const int maxsize );

void print( int** const martrix, const int maxsize );

void magicsquare( int** martrix, const int maxsize );

void deletemartrix( int** matrix, int maxsize );

int main()

return 0;

}int** createmagicsquare( const int maxsize )

void print( int** const martrix, const int maxsize )

printf("\n");

}}void magicsquare( int** martrix, const int maxsize )

else

}}void deletemartrix( int** martrix, int maxsize )

幻方的生成

幻方,有時又稱魔方 該稱呼現一般指立方體的魔術方塊 或縱橫圖,由一組排放在正方形中的整數組成,其每行 每列以及兩條對角線上的數之和均相等。通常幻方由從 幻方可以使用 根據幻方階數的不同,產生幻方的方法也不區別 一般可以分為下了三種情況 奇數階幻方 4m階幻方 4m 2階幻方 由於幻方的對稱性,也可以...

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

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

openjudge 神奇的幻方

神奇的幻方 檢視 提交 統計 提問 總時間限制 1000ms 記憶體限制 65535kb 描述幻方是乙個很神奇的n n矩陣,它的每行 每列與對角線,加起來的數字和都是相同的。我們可以通過以下方法構建乙個幻方。階數為奇數 1.第乙個數字寫在第一行的中間 2.下乙個數字,都寫在上乙個數字的右上方 a.如...