zust-sy7-15生成蛇形矩阵
时间: 2025-07-06 20:53:57 浏览: 7
### 实现蛇形矩阵
对于给定的正整数 \( N \),可以构建一个 \( N \times N \) 的蛇形矩阵。该矩阵的特点是从左下角到右上角按顺序填充自然数,形成一种特殊的排列方式。
为了实现这一功能,下面提供了一种 Python 编程语言中的解决方案:
```python
def generate_snake_matrix(n):
matrix = [[0] * n for _ in range(n)]
num = 1
row, col = n - 1, 0
while num <= n * (n + 1) // 2:
# Fill the current position with the number and move diagonally up-right.
while row >= 0 and col < n and matrix[row][col] == 0:
matrix[row][col] = num
num += 1
row -= 1
col += 1
# Adjust direction after reaching boundary or filled cell.
if col == n: # If we go out of bounds on column side,
col = n - 1
row += 2
elif row < 0: # Or top bound,
row = 0
# Skip over already filled cells horizontally when necessary.
while matrix[row][col] != 0:
col += 1
return matrix
def print_matrix(matrix):
for row in matrix:
formatted_row = ' '.join(str(item) for item in row if item != 0)
print(formatted_row)
if __name__ == "__main__":
n = int(input())
snake_matrix = generate_snake_matrix(n)
print_matrix(snake_matrix)
```
上述代码定义了一个 `generate_snake_matrix` 函数来创建指定大小的蛇形矩阵,并通过另一个辅助函数 `print_matrix` 来按照要求打印这个矩阵[^1]。
阅读全文
相关推荐



















