题解 | #蛇形矩阵#
蛇形矩阵
https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
while True:
try:
num = int(input())
for i in range(num):
if i == 0:
s = [int((n + 1) * (n + 2) / 2) for n in range(num)]
else:
s = [n - 1 for n in s[1:]]#s[1:]把第一个元素去掉
print(" ".join(map(str, s)))
except:
break
我们观察规律,第一行的第n个元素都满足(n + 1) * (n + 2) / 2
而第二行的元素都满足。是第一行的元素减1;在这里我们只要每次都把第一个元素去掉就行。
