题解 | #蛇形矩阵#

蛇形矩阵

https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e

n = int(input())
for i in range(n):
    for j in range(n-i):
        if j == n-i-1:
            print((i+j+1)*(i+j+2)//2 - i)
        else:
            print((i+j+1)*(i+j+2)//2 - i,end = ' ')

全部评论
将矩阵转置,例如: 1 3 6 10 2 5 9 4 8 7 转置为 1 2 3 4 5 6 7 8 9 10 则原矩阵每个数的行列之和是其“转置行数”,值等于“转置行数”的最后一个数减去其(原行数-1) 例如:10 = 10-0, 9 = 10 - 1, 4 = 6 - 2 “转置行数”m的最后一个数值 = m*(m+1)//2 那么可得,位于原矩阵i行j列的数 = (i+j+1)*(i+j+2)//2 - i
点赞 回复 分享
发布于 2023-05-19 17:17 北京

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务