题解 | #蛇形矩阵#
蛇形矩阵
https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
第一行是累加序列,也就是数组内第N个数是N(N+1)/2。而第二行是去掉第一行第一个数后所有元素-1,第三行是去掉第一行前两个数后-2。
所以我的思路就是先打印累加数列ls第一行的n个数,然后打印剩下的行。虽然看起来比较蠢 但是确实能用XD
n = int(input()) ls = [] for i in range(1,n+1): ls.append(int((i**2+i)/2)) print(*ls) for i in range(1,n): #i表示行数 temp = ls[i:] #每次循环取第一行i后切片 for j in range(len(temp)): #每个数减去当前行数 temp[j] -= i print(*temp) #星号解包
