日常做题思路理解记录(华为机试)

题目描述
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。

例如,当输入5时,应该输出的三角形为:

1 3 6 10 15

2 5 9 14

4 8 13

7 12

11

请注意本题含有多组样例输入。

输入描述:
输入正整数N(N不大于100)

输出描述:
输出一个N行的蛇形矩阵。
=====================================分割线==============================
1 3 6 10
2 5 9
4 8
7
第一行[1 3 6 10]
第二行是 去掉第一行的第一列,然后将后面的[3 6 10]分别减1得到的。

while True:
    try:
        N=int(input())
        res=[]
        for i in range(N):
            if i==0:
                res=[(e+2)*(e+1)//2 for e in range(N)]
            else:
                res=[e-1 for e in res[1:]]
            print(' '.join(map(str,res)))
    except:
        break
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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