问题描述
如下图所示,小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。1 2 6 7 15 …3 5 8 14 …4 9 13 …10 12 …11 ……(1)容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列的数是多少?
解决方案
先设置循环次数为20次,横向和纵向都为20,再根据奇偶数设置规则,再循序渐进,最后找出数字
代码清单Python代码
matrix = [[0 for i in range(50)] for i in range(50)] matrix[0][0] = 1 row = len(matrix) col = len(matrix) i=0 j=0 for k in range(20): if i == 0 and j % 2 == 0: j += 1 matrix[i][j] = matrix[i][j-1] + 1 while j > 0: matrix[i+1][j-1] = matrix[i][j] + 1 i += 1 j -= 1 if j == 0 and i % 2 == 1: i += 1 matrix[i][j] = matrix[i-1][j] + 1 while i > 0: matrix[i-1][j+1] = matrix[i][j] + 1 j += 1 i -= 1 print(matrix) |
结语
此代码计算了规则数列的数字寻找问题,在之后会不断改进代码。