在Python中生成Pascal三角形的程序
假设我们有一个数字n。我们必须生成帕斯卡三角形,最多有n行。帕斯卡三角形如下所示 –
帕斯卡三角形的性质是,前一行的每两个相邻数字之和是放置在第二行下方的数字的值。例如,第6行的第一个10是第5行的4和6之和,第二个10是第5行的两个数字6和4之和。
因此,如果输入为n = 5,则输出将是
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
为了解决这个问题,我们将遵循以下步骤-
- 对于i从0到n + 1,执行以下操作
- 对于j从0到n-i,执行以下操作
- 打印一个空格
- C:=1
- 对于j从1到i + 1,执行以下操作
- 打印C,然后是一个空格
- C:=(C *(i – j)/ j)的商
- 对于j从0到n-i,执行以下操作
- 转到下一行
示例
让我们看下面的实现,以获得更好的理解-
def solve(n):
for i in range(n+1):
for j in range(n-i):
print(' ', end='')
C = 1
for j in range(1, i+1):
print(C, ' ', sep='', end='')
C = C * (i - j) // j
print()
n = 5
solve(n)
输入
5
输出
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1