写一个求解杨辉正三角形的 Python 程序,使用过程调用的递归方法实现,输出杨辉三角形的前8行。
时间: 2024-03-26 17:42:16 浏览: 168
递归调用方式实现杨辉三角形输出
4星 · 用户满意度95%
好的,以下是使用递归方法实现求解杨辉正三角形的 Python 程序,输出前8行杨辉三角形的代码:
```python
def pascal_triangle(n):
if n == 1:
return [[1]]
else:
triangle = pascal_triangle(n-1)
row = [1]
for i in range(1, n-1):
row.append(triangle[-1][i-1] + triangle[-1][i])
row.append(1)
triangle.append(row)
return triangle
for i in range(1, 9):
row = pascal_triangle(i)[-1]
print(" ".join(str(num) for num in row).center(30))
```
运行结果如下:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
```
注意:在递归方法中,每次调用都会生成一个新的杨辉三角形列表,因此在求解较大的杨辉三角形时,程序的效率会非常低。
阅读全文