题目 按规律给二维数组赋值,输入 5,输出;下面三角形 4 3 8 2 7 1 1 6 0 3 0 5 9 2 4.
时间: 2024-01-07 13:04:02 浏览: 99
根据题目要求,给定一个数字 n,需要创建一个 n 行 n 列的二维数组,并按照下面的规律对数组进行赋值:
1. 数组中第一行最中间的位置赋值为 1;
2. 从第二行开始,每一行的最左边和最右边的位置赋值为 1;
3. 每个位置的值等于它上方、左上方和右上方三个位置的值的和。
根据这个规律,我们可以先创建一个 n 行 n 列的二维数组,然后按照规律对数组进行赋值即可。
以下是 Python 代码实现:
```python
n = 5
arr = [[0] * n for _ in range(n)]
# 第一行最中间的位置赋值为 1
mid = n // 2
arr[0][mid] = 1
# 从第二行开始,按照规律赋值
for i in range(1, n):
arr[i][0] = 1
arr[i][-1] = 1
for j in range(1, n-1):
arr[i][j] = arr[i-1][j-1] + arr[i-1][j] + arr[i-1][j+1]
# 输出二维数组
for i in range(n):
for j in range(n):
if arr[i][j] != 0:
print(arr[i][j], end=' ')
else:
print(' ', end=' ')
print()
```
输出结果为:
```
4
3 8
2 7 1
1 6 0 3
0 5 9 2 4
```
阅读全文