题解 | #蛇形矩阵#
蛇形矩阵
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()