蛇形矩阵生成方法
可以使用一个二维数组来存储矩阵,并按照对角线方向填充数字。以下是Python实现:
python
def generate_snake_matrix(n):
matrix = [[0] * n for _ in range(n)]
num = 1
for sum_idx in range(2 * n - 1):
if sum_idx % 2 == 0:
i = min(sum_idx, n - 1)
j = sum_idx - i
while i >= 0 and j < n:
matrix[i][j] = num
num += 1
i -= 1
j += 1
else:
j = min(sum_idx, n - 1)
i = sum_idx - j
while j >= 0 and i < n:
matrix[i][j] = num
num += 1
i += 1
j -= 1
return matrix
n = int(input())
matrix = generate_snake_matrix(n)
for row in matrix:
print(" ".join(map(str, row)))
代码解析
- 使用一个 n×n 的矩阵存储结果。
- 通过遍历对角线索引 sum_idx 来填充矩阵。
- 根据 sum_idx 的奇偶性决定填充方向(从上到下或从下到上)。
- 最后按行输出矩阵。
示例输入:
示例输出:
这样就能正确生成蛇形矩阵!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |