编写算法实现n行杨辉三角形的打印
时间: 2024-11-13 18:41:11 浏览: 30
Python实现输出杨辉三角形
杨辉三角是一个数学术语,它是一个由数字构成的三角形,每个数字等于其上方两个数字之和。在计算机科学中,可以编写递归或迭代的方式来生成并打印出任意行数的杨辉三角。
**递归方法**:
```python
def print_pascal_triangle(n):
if n <= 0:
return []
elif n == 1:
return [[1]]
triangle = [[1], [1]]
for i in range(2, n):
row = [1] * (i + 1)
row[0] = row[-1] = 1
for j in range(1, i):
row[j] = triangle[i - 1][j - 1] + triangle[i - 1][j]
triangle.append(row)
for row in triangle:
print(' '.join(str(num) for num in row))
```
**迭代方法**:
```python
def print_pascal_triangle_iterative(n):
triangle = [[1], [1]]
for i in range(2, n+1):
new_row = [1]
for j in range(i-1):
new_row.append(triangle[i-1][j] + triangle[i-1][j+1])
new_row.append(1)
triangle.append(new_row)
for row in triangle:
print(' '.join(str(num) for num in row))
# 调用函数,传入想要打印的行数
print_pascal_triangle_iterative(n)
```
这两个函数都会打印出指定行数的杨辉三角形。
阅读全文