7 10 n 魔方陣 15分

2021-10-02 19:19:03 字數 1213 閱讀 7032

所謂「n-魔方陣」,指的是使用1〜n2共n2個自然數排列成乙個n×n的方陣。該方陣的每行、每列及對角線元素之和都相等,並為乙個只與n有關的常數,該常數為n×(n2+1)/2。 本題要求實現n-魔方陣(階數最大為20)n的值從鍵盤讀入,題目保證n的值為奇數。

輸入格式:

輸入在一行中給出乙個奇數n的值。

輸出格式:

按照樣例的格式輸出對應的n-魔方陣,每列佔5個字元,右對齊。

輸入樣例:

5

輸出樣例:

生成的5-魔方陣為:

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

單位: 成都資訊工程大學

時間限制: 400 ms

記憶體限制: 64 mb

//主要圍繞:是否在第一行i==0以及最後一列j==n-1作為判斷條件,劃分成四種情況;

/* ①i==0&&j==n-1;

②i!=0&&j==n-1;

③i==0&&j!=n-1;

④i!=0&&j!=n-1;

*///注意:如果是對角元素存在的話,需要判斷;

//#include

#include

intmain()

else

//如果不為零,放到當前元素的下方;

}else

if(i!=

0&&j==n-1)

//當前元素不在第一行,且在最後一列;

else

}else

if(i==

0&&j!=n-1)

//當前元素在第一行,且不再最後一列;

else

//如果該位置存在元素的話,就將其放在當前元素的下方;

}else

if(i!=

0&&j!=n-1)

//當前元素座標既不在第一行,也不再最後一列;

else}}

printf

("生成的%d-魔方陣為:\n"

,n);

for(i=

0;i)printf

("\n");

}return0;

}

n 魔方陣 15分

所謂 n 魔方陣 指的是使用1 n2共n2個自然數排列成乙個n n的方陣。該方陣的每行 每列及對角線元素之和都相等,並為乙個只與n有關的常數,該常數為n n2 1 2。本題要求實現n 魔方陣 階數最大為20 n的值從鍵盤讀入,題目保證n的值為奇數。輸入格式 輸入在一行中給出乙個奇數n的值。輸出格式 ...

奇數魔方陣 4N魔方陣 2(2N 1)魔方陣

奇數魔方陣 說明 將1到n 為奇數 的數字排列在nxn的方陣上,且各行 各列與各對角線的和必須相同,如下所示 解法 填魔術方陣的方法以奇數最為簡單,第乙個數字放在第一行第一列的正 然後向右 左 上填,如果右 左 上已有數字,則向下填,如下圖所示。一般程式語言的陣列索引多由0開始,為了計算方便,我們利...

N階魔方陣

寫出程式填寫出n n 魔方陣 的數值。所謂魔方陣是指這樣的方陣,資料是正整數,從1開始,每個遞增1,每個資料不重複出現,它的每一行 每一列和對角線之和均相等 n是奇數 input 3 5 output 8 1 6 3 5 7 4 9 2 17 24 01 08 15 23 05 07 14 16 0...