所謂「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...