题解 | #蛇形矩阵#

蛇形矩阵

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) #星号解包

全部评论

相关推荐

2025-11-26 09:37
山西大学 测试工程师
我要娶个什么名:学长你电脑闹鬼了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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