- 杨辉三角是什么?
杨辉三角是中国古代数学家杨辉在13世纪发明的一个数字三角形。在这个三角形中,每个数等于它上方两数之和。以下是一个6层的杨辉三角:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
- 杨辉三角实现的算法
杨辉三角的实现算法可以分为两种:递归和迭代。
递归实现
递归实现杨辉三角的代码如下:
def yanghui_triangle(n):
if n == 1:
return [[1]]
else:
prev_triangle = yanghui_triangle(n-1)
prev_row = prev_triangle[-1]
current_row = [1]
for i in range(len(prev_row) - 1):
current_row.append(prev_row[i] + prev_row[i+1])
current_row.append(1)
prev_triangle.append(current_row)
return prev_triangle
其中,n为杨辉三角的层数,返回一个包含整个杨辉三角的列表。
迭代实现
迭代实现杨辉三角的代码如下:
def yanghui_triangle(n):
triangle = [[1]]
for i in range(1, n):
prev_row = triangle[-1]
current_row = [1]
for j in range(len(prev_row) - 1):
current_row.append(prev_row[j] + prev_row[j+1])
current_row.append(1)
triangle.append(current_row)
return triangle
其中,n为杨辉三角的层数,返回一个包含整个杨辉三角的列表。
- 示例说明
示例1:递归实现
>>> print(yanghui_triangle(6))
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1]]
示例2:迭代实现
>>> print(yanghui_triangle(6))
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1]]
以上两个示例分别展示了递归和迭代实现杨辉三角的过程,输出结果与预期相同。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现杨辉三角的几种方法代码实例 - Python技术站