美文网首页
横竖斜总和相等的奇数矩阵

横竖斜总和相等的奇数矩阵

作者: sugar_coated | 来源:发表于2019-08-27 14:07 被阅读0次

问题描述:给定一个奇数n,将1~n * n填入n * n的矩阵中,数字不能重复,使得横竖斜的总和相等。

如当n=7时:
30 39 48 01 10 19 28
38 47 07 09 18 27 29
46 06 08 17 26 35 37
05 14 16 25 34 36 45
13 15 24 33 42 44 04
21 23 32 41 43 03 12
22 31 40 49 02 11 20

规律:从小到大依次放入矩阵中,下一个数放在上一个数的右上角位置(即:行-1,列+1)。1总是在第一行的中间位置,接着将2放在1的右上角,依次类推。 a.如果右上角的位置的行和列都越界,就将这个数放在上个数的正下方(即:上个数的行+1)。b.如果右上角的位置只有行越界,就将行改到最大,列不变。c.如果右上角的位置只有列越界,就将列改到最小,行不变。d.如果右上角的位置没有越界,但是已经填有数字,就将这个数放在上个数的正下方。

  • python代码
n = int(input("请输入一个奇数:"))
m = [[0 for i in range(n)] for i in range(n)] #矩阵
row, col = 0, n // 2
num = 1
while num <= n * n:
    m[row][col] = num
    num += 1
    row -= 1
    col += 1
    if row < 0 and col >= n:
        row, col = row + 2, col - 1#因为row已经减了1,col已经加了1
    elif row < 0:
        row = n - 1
    elif col >= n:
        col = 0
    elif m[row][col] != 0:
        row, col = row + 2, col - 1
for i in range(n):
    for j in range(n):
        print('%02d' % m[i][j], end = ' ')
    print()

相关文章

  • 横竖斜总和相等的奇数矩阵

    问题描述:给定一个奇数n,将1~n * n填入n * n的矩阵中,数字不能重复,使得横竖斜的总和相等。 如当n=7...

  • 第四章练习

    1.使用循环输出九九乘法表。 使用循环输出等腰三角形等腰三角形.png 给定奇数3 , 输出(横、坚、斜的总和相等...

  • R语言-矩阵与行/列等长的向量 作除法

    矩阵与 矩阵列数相等的向量作整除 矩阵与 矩阵行数相等的向量作除法

  • 矩阵

    一.矩阵概念的一些背景 略 矩阵相等的概念:同型且对应值相等。 单位矩阵 零矩阵 方正 上(下)三角矩阵 对角矩阵...

  • 奇数魔方阵

    题目描述: 对于每一个正整数奇数n,输出一个n X n矩阵(奇数阶魔阵), 矩阵元素由1~n平方整数组成, 矩阵的...

  • 【矩阵】12、矩阵的运算1

    一、知识点 线性运算 1.相等 两个矩阵相等是指这两个矩阵有相同的行数与列数,且对应元素相等.即同型:对应元素相等...

  • Frobenius范数 2020-04-02

    矩阵A的Frobenius范数定义为矩阵A各项元素的绝对值平方的总和,

  • 矩阵秩的性质

    若A为m x n的矩阵,则有: 矩阵A的秩与A的转置的秩相等 若A和B等价,则他们的秩相等 若P、Q可逆,则

  • 专题:反对称矩阵

    例题 例3.4设是阶反对称矩阵,为的伴随矩阵,则当为偶数时,为反对称矩阵,当为奇数时,为对称矩阵。例3.7设为阶实...

  • Moore-Penrose 伪逆

    逆矩阵 矩阵的逆矩阵 满足体:因此对于一个线性方程 ,求解可以得到 。 对于行数与列数不相等的矩阵,其逆矩阵没有定...

网友评论

      本文标题:横竖斜总和相等的奇数矩阵

      本文链接:https://www.haomeiwen.com/subject/wknsectx.html