题解 | #蛇形矩阵#

蛇形矩阵

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

真是没那个脑子找公式,就先确定每一行行首,然后后面的元素分别基于该行的上一个元素处理,笨蛋方法

规律:下一个元素等于这一行的上一个元素值 + 当前行数 + 现在是本行第几个元素 - 1

n = int(input())

# 先搞一个首行元素,然后后面的每一行再处理
line_1 = []
first = 1
for a in range(0, n):
    first = first + a
    # print(first)
    line_1.append(int(first))
# print(line_1)

for a in range(1, n+1): #1234 好处理行
    # print("第"+str(a))
    for b in range(1, n-a+2):   #用来生成每一行的元素的,b对应的是这行的第几个元素
        if b == 1:  #第一个元素直接输出首行数组的对应元素
            print(line_1[a-1], end = ' ')
            line_pre = line_1[a-1]
        else:
            line_pre = line_pre + a + b - 1 #规律:下一个元素等于这一行的上一个元素值 + 当前行数 + 现在是本行第几个元素 - 1
            print(line_pre, end = ' ')
    print()

全部评论

相关推荐

牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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