文件名称:N阶魔方阵 奇数阶魔方阵
文件大小:1KB
文件格式:PY
更新时间:2023-05-24 15:48:42
魔方阵
魔方阵是指一个N×N矩阵(在本题中N仅为奇数,且N>1),以自然数1,2,..., N2为元素进行填充,每个位置上分别放置一个元素,使每行、每列以及主、副对角线上的元素之和都相等。 如3×3魔方阵,图在每行、每列、主对角线、副对角线上元素之和均为15: 8 1 6 3 5 7 4 9 2 奇数阶魔方阵的生成算法如下,初始矩阵A为空,从1开始依据下面的规则依次放置各个自然数(注意在下面的叙述中各元素行、列下标均以1-N计数): 1. 将1放在第一行正中的位置,即A[1, (N+1)/2]; 2. 设当前放置的元素是A[i, j],则将下一个元素放在最后一个插入位置的右上方,即A[i-1, j+1]。但如果该位置已超出方阵的上边界(即如果i<0),则新位置取该列的最下一个位置,即A[N, j+1];如果该位置已超出方阵的右边界,取新位置取该行的最左一个位置,即A[i-1, 1]。 3. 若最近一个插入元素为N的整倍数,则新位置取最后插入元素下面的位置,即A[i+1, j]。 输入一个奇数N,打印对应的N阶魔方阵。