题解 | #蛇形矩阵#

蛇形矩阵

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

找规律
while True:
    try:
        N = int(input())
        row_1 = 1
        for i in range(N):
            if i == 0:
                row_s = 1
            else:
                row_s = sum(range(0,i+1))+1
            for j in range(N-i):
                if i == 0 and j == 0:
                    column = 1
                    print(column, end = ' ')
                elif j == 0 :
                    print(row_s, end= ' ')
                else:
                    column = row_s + sum(range(i+2,i+j+2))
                    print(column, end = ' ')
            print()
    except:
        break
整理边界条件,看看是否可以包含于公式之中,发现所有边界条件在公式里能包含,故精简:
while True:
    try:
        N = int(input())
        for i in range(N):
            row_s = sum(range(0,i+1))+1
            for j in range(N-i):
                column = row_s + sum(range(i+2,i+j+2))
                print(column, end = ' ')
            print()
    except:
        break
  

                 

全部评论

相关推荐

10-07 23:57
已编辑
电子科技大学 Java
八街九陌:博士?客户端?开发?啊?
点赞 评论 收藏
分享
11-11 14:21
西京学院 C++
无敌混子大王:首先一点,不管学校层次怎么样,教育经历放在第一页靠上位置,第一页看不到教育经历,hr基本直接扔掉了
点赞 评论 收藏
分享
2 1 评论
分享
牛客网
牛客企业服务