用一维数组实现杨辉三角为正三角
时间: 2024-09-23 19:13:56 浏览: 41
杨辉三角是一个数学术语,它表示成一个三角形形状的数字序列,在这个序列中每个数字都是前两个数字之和。在一维数组中,我们可以用两个索引来表示杨辉三角的每一行。数组的一端通常用于存储当前行的起始位置,另一端则存放结束位置。
以下是一个简单的Python示例,如何使用一维数组存储并打印出前几行的杨辉三角:
```python
def pascal_triangle(n):
triangle = [[0 for _ in range(i + 1)] for i in range(n)]
# 第一行始终只有一个元素
triangle[0][0] = 1
# 打印第一行
print(triangle[0])
# 从第二行开始填充
for i in range(1, n):
# 左边的元素保持不变,值为上一行的最后一个元素
triangle[i][0] = triangle[i - 1][i - 1]
# 中间的元素等于上方两个元素相加
for j in range(1, i):
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]
# 右边的元素也是上一行的最后一个元素
triangle[i][i] = triangle[i - 1][i - 1]
print(triangle[i])
# 输出前5行杨辉三角
pascal_triangle(5)
```
在这个例子中,`triangle`就是我们的一维数组,每一行是一个列表,代表了三角形中对应位置的数值。
阅读全文