問題描述:
輸入乙個數字n,使1~n*n數字填充在n階矩陣中,使n階矩陣水平、豎直、對角線數字相加之和相同;
eg:輸入3,輸出3階矩陣
解決思想:
*題目要求n為奇數 *
1.首先數字1放在第一排中間:(n+1)/2
2.如果數字在第一行但是不在最後一列,則它下乙個元素放在
4.如果數字在第一行且在最後一列,則下乙個元素放在其正下方
5.如果數字不在第一行也不在最後一列,則看其右上方是否有元素
,如果沒有,則放其右上角;如果有,則放其正下方;
6.左對齊站位輸出
cout<ac**(c++):
#includeusing namespace std;
int main()else if(x!=1&&y==n)
else if(x==1&&y==n)
else
else
} }
//列印輸出
for(int i=1;i<=n;i++)
cout<
} return 0;
}
奇數階幻方
編制奇數階幻方的方法 問題如 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填到三行三列的 中,要求每行 每列 及兩條對角線上的和都相等。這道題難...
奇數幻方 輸入N得到NXN幻方
include intmain for int j 0 j1 j h j sum1 for int j 0 j1 j l j sum2 for int i 0 i 判斷每行 列相等個數 for int j 0 j1 j 計算對角線數字和 e n 1 for int i 0 i1 i 計算反對角線數字...