幻方 奇數 數字填充矩陣

2021-10-25 09:25:42 字數 752 閱讀 6624

問題描述:

輸入乙個數字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 計算反對角線數字...