蓝桥杯--蛇形填数

【问题描述】
如下图所示,小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。
1 2 6 7 15 …
3 5 8 14 …
4 9 13 …
10 12 …
11 …

容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列的数是多少?

lst = [[] for i in range(40)]
num = 1
lst[0].append(1)
for i in range(2,40):    # 控制行数
    if i%2==0:   # 当行数是偶数,从右上到左下 
        for j in range(i):  
            num += 1
            lst[j].append(num)
    else:       # 当行数是奇数 从左下到右上
        for j in range(i):
            num += 1
            lst[i-j-1].append(num)
print(lst[19][19])

# for i in range(len(lst)):
#    print(i+1,lst[i])

猜你喜欢

转载自blog.csdn.net/qq_52007481/article/details/123973197